こんにちは、PhantomJS を悪夢と組み合わせて使用して自動化を行っています。悪夢による UI 自動化が実行されたら、DB 呼び出しを行う必要があります。悪夢の評価関数を使用して、呼び出しが行われることを期待していた DB 呼び出しを行います。同期的ですが、実際には、UI 自動化の実行が完了する前に DB 関数が最初にトリガーされ、結果として DB 検証用に誤ったデータが渡されます。以下はmaコードのサンプルです
exports.rejectProcess = function (testData, resultfolder, ConnectionStrings) {
"use strict";
return function (nightmare) {
nightmare
.waitForEnable('#Process')
.click('#Process')
.wait()
.waitForNotVisible('div.spinnerFullLight')
.waitForEnable('#createProcess')
.click('#createProcess')
.wait()
.click('#ContinueBtn')
.wait()
....etc
.evaluate(
function ()
{
var element = document.querySelector('#ProcessNumber');
return { data: element.value }
},
function (result) {
nightmare
.waitForEnable("#spanDashBoardArrowd")
.click("#spanDashBoardArrowd")
.waitForVisible("#topNavdropdownSubMenu")
.click("#navApprovals")
.wait()
...etc
.click("#Reject")
.evaluate(function () { nightmare.wait(60000);},valuateDB(testData, ConnectionStrings, result.data))
})
}
};
function valuateDB(testData, ConnectionStrings,concessionNumber)
{
console.log(concessionNumber);
var ApprovalInfo = dataOperation.getRejectStatus(testData, ConnectionStrings, concessionNumber); ------->place where i make the DB call
console.log(ApprovalInfo);
}