我们使用Seleniumquery-0.19.0进行硒测试 .
我们注意到$ .url()没有等待页面完全加载 . 我也试过$ .driver() . get() . navigate() . to(url);.
我们的场景,
-
打开页面 .
-
搜索登录控件,即用户和密码文本框
-
填充值并单击“提交”按钮 .
在测试结果中,我们发现selenium无法找到用户名文本框 . 我们尝试过
-
等待,即$("*[id='login.username']").waitUntil(5000).isPresent();
-
超时,即$ .driver() . get() . manage() . timeouts() . pageLoadTimeout(60,TimeUnit.SECONDS);
-
static void waitForPageLoad(final WebDriver wdriver){final WebDriverWait wait = new WebDriverWait(wdriver,600);
final Function<WebDriver, Boolean> pageLoaded = new Function<WebDriver, Boolean>() {
@Override
public Boolean apply(final WebDriver input) {
final Boolean result =
((JavascriptExecutor)input).executeScript("return document.readyState").equals("complete");
LOG.info("Status of the Page : " + result);
return result;
}
};
wait.until(pageLoaded);
}