【发布时间】:2018-06-09 14:12:26
【问题描述】:
我试图弄清楚如何让 webdriver.io 在单击按钮后等待所有 ajax 请求完成。
不幸的是,document.readyState 始终为 = 'complete' ,除了其中包含一些稍微不同的数据之外,该网页没有任何“独特性”。
有没有其他方法可以测试页面中的javascript函数是否完整..?
await this.browser.waitUntil(function () {
return this.execute(function () {
if (document.readyState === 'complete')
return true;
})
});
【问题讨论】:
-
这可能对你有帮助npmjs.com/package/webdriverajax
-
与其等待所有/某些请求,不如等待特定请求完成。您可以使用webdriver.io/docs/api/browser/mock.html 监视特定请求,然后等待它被请求webdriver.io/docs/api/expect-webdriverio.html#toberequested
-
@MikeG。通常我们不太关心被请求的 API,而是等待它完成,无论状态如何。使用您的建议,我仍然不知道如何实现这一目标
-
@SergeyPleshakov 你能澄清你的问题吗?你到底想达到什么目的?
-
所以所有请求都经过几个步骤 - 发起,可能被重定向,但最终完成(实际术语可能不同)。我如何阅读这个问题是,用户想要等到请求完成,您建议在它刚刚启动时等待。我理解对了吗@MikeG。
标签: webdriver-io