簡體   English   中英

如何獲得選擇器計數並傳遞給以后可以使用的變量?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM