Javascript NightwatchJS使用browser.back()迭代链接
我试图在链接上进行迭代,并在每次单击时断言页面存在并返回。到目前为止,我已经在测试用例中讨论了这个函数。问题是,在单击第一个链接并向后导航后,浏览器会再次向后导航一次,然后在空页面上完成迭代。如果我使用init()切换回(),测试仍然失败。 这是测试用例,不是页面对象命令。请帮忙 ChromeDriverv.2.28.455517 硒v2.53.0Javascript NightwatchJS使用browser.back()迭代链接,javascript,node.js,selenium-webdriver,iteration,nightwatch.js,Javascript,Node.js,Selenium Webdriver,Iteration,Nightwatch.js,我试图在链接上进行迭代,并在每次单击时断言页面存在并返回。到目前为止,我已经在测试用例中讨论了这个函数。问题是,在单击第一个链接并向后导航后,浏览器会再次向后导航一次,然后在空页面上完成迭代。如果我使用init()切换回(),测试仍然失败。 这是测试用例,不是页面对象命令。请帮忙 ChromeDriverv.2.28.455517 硒v2.53.0 browser.elements('css selector', 'specific element', function(allLinks) {
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('');
}
})
}
“链接”:功能(浏览器){
元素('css选择器','#footer.footerlist.links li a',函数(res){
for(设i=1;i