我正在测试的页面有一个按钮,可以将您带到同一站点上的不同页面。点击该按钮后,我想在继续之前等待该页面加载。通常,我只是等待该页面上的某个元素加载,但由于我最近更新了nightwatch / selenium,所以waitForElementPresent()测试已停止工作。在调试问题的过程中,我认为等待加载新的URL是有意义的,但我没有看到一个守夜人的方式来做到这一点。我可以使用pause()后跟assert.urlContains()来硬编码等待,但是必须有更好的方法。有什么建议吗?
以前的工作:
this.waitForElementVisible(runCSS,3000)
.click(runCSS)
.waitForElementPresent(newPageElementCSS,5000)
但现在它在第二次等待时超时,即使我可以清楚地看到浏览器显示屏上的新页面(Windows 8.1上的Firefox 45.0.1)。
答案 0 :(得分:0)
等待点击后将加载的页面所特有的某个(选择器)。它可以是任何东西,只要它不存在于当前页面上。
例如,
这将在页面上的任何位置等待<div name="Thingy">
:
client.waitForElementVisible('div[name="Thingy"]',3000)
答案 1 :(得分:-1)
我猜,在Nightwatch.js中,等待页面加载可以使用DOM的'body'元素来实现。假设,如果我们想等待页面1秒钟。我们将使用命令.waitForElementVisible('body', 1000)
来实现它。第二个参数以毫秒为单位测量。