nightwatchjs - 如何等待ajax呼叫完成

Sar*_*n S 6 javascript automation selenium-webdriver nightwatch.js

我正在使用nightwatchJS进行浏览器自动化.我看到的一个常见用例是,我网页中的大部分内容都是通过来自ajax调用的数据进行更新的.所以,在我的测试中,我正在寻找一种方法来保持我的测试,直到我从Ajax获得结果.我没能在夜间观察或硒中找到任何api.

我试过了waitForElementVisible,但我觉得这还不够.如果我的ajax调用没有返回任何数据,会发生什么.

以前有人试过这个吗?

Ste*_*fan -2

我面临类似的问题,我看到两种可能的解决方案:

1)在您想要单击/检查ajax请求之后出现的所有内容之前执行暂停语句。大多数时候测试失败是因为ajax请求尚未完成并且缺少某些内容。

client.pause(5000);应该到窍门。

2)adaptive.js似乎有 nightwatchJS 的 waitForAjax 实现。无论如何,它似乎是封闭代码,我无法告诉你任何有关它的信息。

3) 使用该--verbose选项来验证正在发生的情况。详细可以告诉您未处理的错误消息,这可能会导致您遇到一个可以解决的棘手小问题。