0

我正在使用 Selenium Web 驱动程序编写测试用例。我需要设置隐式等待 Chrome 驱动程序。我不需要明确的 - 它太长了!有什么方法可以强制 Google Chrome 驱动程序TimeOutException在尝试上传页面 5 秒后抛出一个或(刷新页面也可以)。

我试过:driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);

这没用。这是简短的源代码:

.......
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
.......
.......
element.click();
.......

TimeOutException现在,如果页面在 5 秒内未加载,我需要驱动程序抛出一个。

4

2 回答 2

0

还有另一种等待:pageLoadTimeout. 以下是你如何使用它:

driver.manage().timeouts().pageLoadTimeout(5, TimeUnit.SECONDS);

有关详细信息,请参阅“接口 WebDriver.Timeouts”

于 2013-02-10T15:25:10.410 回答
0

有一种更简单的方法...您不必使用 WebDriverTimeouts 等使代码过于复杂...您只需在浏览器上安装 Chrome Auto Refresh Plus 并选择它以在 5 秒后自动刷新。对于每个循环或您拥有的任何内容,浏览器将为您提供 5 秒的时间来完成它,否则它将根据您的需要刷新页面。只需安装自动刷新:https ://chrome.google.com/webstore/detail/auto-refresh-plus/oilipfekkmncanaajkapbpancpelijih?hl=en

PC:Chrome 的隐式等待效果不佳:http://www.google.com/url?sa=t&rct=j&q=implicit+waits+issue+Chrome&source=web&cd=1&cad=rja&ved=0CC8QFjAA&url= http %3A%2F %2Fcode.google.com%2Fp%2Fchromedriver%2Fissues%2Fdetail%3Fid%3D24&ei=vz5HUY6mIYS_rQH3zYFI&usg=AFQjCNFar_7Cz3E5nJiYiGRg_ftXCLVuaQ&sig2=Jl7N0OH0usXBTXEjOvzBUw&bvm=bv.43828504

于 2013-03-18T16:20:25.843 回答