Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在NightwatchJS中的元素列表上断言_Javascript_Selenium_Nightwatch.js_E2e Testing - Fatal编程技术网

Javascript 如何在NightwatchJS中的元素列表上断言

Javascript 如何在NightwatchJS中的元素列表上断言,javascript,selenium,nightwatch.js,e2e-testing,Javascript,Selenium,Nightwatch.js,E2e Testing,我想用NightwatchJS断言给定类名的所有元素是否可见。按照这些思路: module.exports = { //some tests 'page changes to English': (browser) => { browser.click('label[for="switch-language"]').pause(1000); browser.elements('css selector', '.fr', results =&

我想用NightwatchJS断言给定类名的所有元素是否可见。按照这些思路:

module.exports = {
    //some tests

    'page changes to English': (browser) => {
        browser.click('label[for="switch-language"]').pause(1000);
        browser.elements('css selector', '.fr', results => {
            for (let i = 0; i < results; ++i) {
                browser.expect.element(results[i]).to.be.visible;
            }
        });
    }
};
module.exports={
//一些测试
“页面更改为英语”:(浏览器)=>{
浏览器。单击('label[for=“switch language”]”)。暂停(1000);
browser.elements('css选择器','.fr',results=>{
for(设i=0;i

但在测试完成后,我得到的输出是
没有运行断言。

多亏了Juhi Saxena在上的回答,我才能够找到问题的答案。以下是我为可能遇到同样困难的人编写的代码:

module.exports = {
    //some tests

    'page changes to English': browser => {
        browser.click('label[for="switch-language"]').pause(1000);
        browser.elements('css selector','.fr', areDisplayed.bind(null, browser, false));
        browser.elements('css selector','.en', areDisplayed.bind(null, browser, true));
    }
};

function areDisplayed(browser, expected, elements) {
    elements.value.forEach(element => {
        browser.elementIdDisplayed(element.ELEMENT, result => {
            browser.assert.equal(result.value, expected);
        });
    });
}