NightwatchJS 使用 browser.back() 迭代链接



我正在尝试遍历链接,每次单击时都断言该页面存在并返回。到目前为止,我已经在测试用例中使用了这个函数。问题是,在单击第一个链接并向后导航后,浏览器会再次导航回来,然后在空白页面上完成迭代。如果我使用 init(( 切换回((,测试仍然失败。这是测试用例,而不是页面对象命令。请帮忙

ChromeDriver v.2.28.455517v2.53.0

browser.elements('css selector', 'specific element', function(allLinks) {
        allLinks.value.forEach(function(index) {
            console.log('Element value is ' + index.ELEMENT)
            browser.elementIdClick(index.ELEMENT, function(res) {
                this.waitForElementVisible('body', 2000);
                this.back();
                this.pause(1000);
            });
        })
    });

我已经让它与以下内容一起工作(下面的片段,以防万一有人会为此而挣扎(。虽然我不太喜欢这个解决方案,因为它非常不稳定。如果有人有更好的工作示例,请分享它,并保证对您点赞!

'links': function(browser) {
        browser.elements('css selector', '#footer .footerlist .links li a', function(res) { 
            for (let i = 1; i < res.value.length; i++) {
                browser.click('#footer .footerlist .links li:nth-child(' + i + ') a');
                browser.pause(2000);
                browser.waitForElementVisible('body', 1000);
                browser.url('');
            } 
        })
    }

最新更新