我正在與Selenium合作對我們公司網站的一些測試進行自動化,但遇到問題。硒事件和等待
TestItemFromSearch: (driver, part, qty) => {
Search.SearchItem(driver, part);
driver.findElement(By.id('enterQty')).findElement(By.tagName('input')).sendKeys(qty);
driver.findElement(By.linkText('Personalize')).click();
//This directs to a new page.
driver.wait(() => {
}, 1000).then(() => {
}, //TODO: This sucks. Fix it.
Login.Login(driver, Logins.username, Logins.password));
driver.findElement(By.className('selectDesignButton')).click();
}
有時候,當Selenium被引導到一個新頁面時,我會使用wait。無論我輸入什麼條件,它都沒有真正找到這種條件 - 它失敗了。我必須劫持拒絕方法才能進行所需的操作(如Login.Login)。
我可能不得不在相同的測試中再次這樣做,因爲它要穿過多個頁面......這會導致醜陋,醜陋,不可讀的代碼。
我該如何讓Selenium正常等待?如果我做到以下幾點:
driver.wait(()=>{},1000)
它只是坐在永遠。如果我提交回復聲明,它立即失敗,甚至不等第二個。
這些都是Java元素,而不是節點/ JS元素。 –