【发布时间】:2019-03-06 04:46:57
【问题描述】:
我们使用 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) { 最终 WebDriverWait 等待 = 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);}
【问题讨论】:
-
您是否有一个通过 ajax 加载其内容的单页应用程序?
-
不,它不是 SPA。
-
好的。我已经使用 waituntil() 行测试了您的选择器,它适用于我的代码。能否提供更多的html代码?
标签: selenium