[英]How to I get a count of a selector and pass into a variable I can use later?
我希望得到返回的項目的行數,以便以后可以將過濾器添加到列表中。 然后,我斷言過濾后的列表號小於總數。
我嘗試了多種.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)
}
};
我在這里找到了答案,這有助於我指出正確的方向。 然后,我必須在回調中包括后續步驟。
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);
});
}
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.