我希望获得返回的项目的行计数,以便以后可以将过滤器添加到列表中。然后,我断言过滤后的列表号小于总数。
我尝试了许多.perform和.execute安排,并继续遇到未定义的错误。
module.exports = {
'Verify rows': function (browser) {
var value_id = 0;
browser
.url(browser.launchUrl)
.waitForElementVisible('body', 20000)
.pause(4000)
.verify.visible('div:nth-of-type(2) > form > div > div > div > div')
.assert.gdGreater('.offering-item-container', 0)
.execute(function () {
value_id = document.querySelectorAll('.offering-item-container').length;
})
.click('#IsGuaranteedToRun')
.pause(4000)
.assert.gdLess('#IsGuaranteedToRun', value_id)
}
};
答案 0 :(得分:0)
我找到了一个答案here,帮助我指出了正确的方向。然后,我必须在回调中包括后续步骤。
module.exports = {
'Verify rows': function (browser) {
var value_id = 0;
browser
.url(browser.launchUrl)
.waitForElementVisible('body', 20000)
.pause(4000);
const numElementsPromise = new Promise(resolve => {
browser.elements('css selector', '.offering-item-container', result => {
resolve(result.value.length);
});
});
numElementsPromise.then(result => {
value_id = result;
browser
.pause(4000)
.verify.visible('div:nth-of-type(2) > form > div > div > div > div')
.assert.gdGreater('.offering-item-container', 0)
.click('#IsGuaranteedToRun')
.pause(4000)
.assert.gdLess('.offering-item-container', value_id)
.click('#IsGuaranteedToRun')
.assert.gdEquals('.offering-item-container', value_id);
});
}
};