我正在与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元素。 –