我目前有一个循环,总共遍历 16 个网站 URL,每次都检查每个主页中的特定文本。有时会出现一些网站的加载时间超过指定时间的情况,从而导致执行失败并停止执行。我想要的是让循环继续直到完成,然后如果在执行期间发生至少一个失败,则整个测试失败,如果没有失败,则通过整个测试。
下面是用于设置和检查加载时间的实际代码。请告知如何修改下面的代码,以便我可以得到上面想要的结果?
public static Boolean isTextPresentAfterWaitOnServer(final String strStringToAppear, RemoteWebDriver rwd, String strLoc){
try{
Wait<WebDriver> wait = new FluentWait<WebDriver>(rwd)
.withTimeout(30, TimeUnit.SECONDS)
.pollingEvery(2, TimeUnit.SECONDS)
.ignoring(NoSuchElementException.class);
Boolean foo = wait.until(new ExpectedCondition<Boolean>() {
public Boolean apply(final WebDriver webDriver) {
return (webDriver.getPageSource().indexOf(strStringToAppear) >= 0);
}
});
return foo;
}
catch(TimeoutException e){
throw new RuntimeException("Could not find text " + strStringToAppear +" on server "+strLoc +" - " + e);
}
};