0

我正在使用 selenium webdriver 执行 1000 个测试。对于每个测试用例,我需要单击网页上的“ID”元素。

我用WebElement x = driver.findElement(By.xpath("//*[@id='TEST']").click();了事件。

但不幸的是,对于几个测试场景(1000 个中的 2 个或 3 个),它会抛出一个错误,说“无法找到一个元素”。对于其余的测试用例,它照常执行。

我尝试使用 Try & Catch 方法并刷新页面,但功能正常工作,但性能太慢。

4

3 回答 3

0

您是否尝试过使用 ExpectedConditions 类(http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/support/ui/ExpectedConditions.html)应该足以添加一些等待在单击之前为 elementToBeClickable 。

于 2013-02-08T09:35:48.803 回答
0

“Try & Catch 方法和 Refresh 方法”是什么意思。Selenium 会模仿 Web 浏览器本身,因此有时会不稳定。1000 次测试需要很长时间,因此请确保您的计算机不会进入睡眠状态,并且在完成之前不要打扰它的测试过程。如果您最小化浏览器,某些测试将失败。

于 2013-02-08T09:36:54.533 回答
0

我建议可能增加你的隐式等待。就像是

driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
于 2016-04-06T18:23:00.370 回答