繁体   English   中英

在 nightwatch 中等待新 URL 加载的正确方法是什么?

[英]What is the proper way to wait for a new URL to load in nightwatch?

我正在测试的页面有一个按钮,可以将您带到同一站点上的不同页面。 单击该按钮后,我想在继续之前等待该页面加载。 通常,我只会等待加载该页面上的某个元素,但自从我最近更新了 nightwatch/selenium 以来,waitForElementPresent() 测试已停止工作。 在调试问题的过程中,我认为等待新 URL 加载是有意义的,但我没有看到一种守夜方式来做到这一点。 我可以使用 pause() 和 assert.urlContains() 对等待进行硬编码,但必须有更好的方法。 有什么建议吗?

以前的工作:

this.waitForElementVisible(runCSS,3000)
    .click(runCSS)
    .waitForElementPresent(newPageElementCSS,5000)

但现在它在第二次等待时超时,即使我可以清楚地看到浏览器显示上的新页面(Windows 8.1 上的 Firefox 45.0.1)。

等待单击后将加载的页面唯一的某些内容(选择器)。 只要它在当前页面上不存在,它就可以是任何东西。

例如,

这将在页面上的任何位置等待<div name="Thingy">

client.waitForElementVisible('div[name="Thingy"]',3000)

我想,在 Nightwatch.js 中,等待页面加载可以使用 DOM 的 'body' 元素来实现。 假设,如果我们要等待页面 1 秒。 我们将使用命令.waitForElementVisible('body', 1000)来实现它。 第二个参数以毫秒为单位。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM