0

我想遍歷鏈接,並在每次點擊聲明頁面存在並返回。到目前爲止,我已經在測試用例中使用了這個函數。問題在於,點擊第一個鏈接並導航回瀏覽器之後再導航一次,然後在空白頁面上完成迭代。如果我用init()切換回(),測試仍然失敗。 這是測試用例,而不是頁面對象命令。請幫助NightwatchJS迭代鏈接與browser.back()

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); 
      }); 
     }) 
    }); 

回答

0

我做了它具有以下(代碼段以下的情況下,人會爲此努力奮鬥)工作。雖然我不太喜歡這個解決方案,因爲它非常不穩定。如果有人有更好的工作的例子,請分享它和榮譽給你保證!

'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(''); 
      } 
     }) 
    }