我有一个 Web 应用程序,它使用 Ajax 请求不断地从服务器轮询数据。我想使用zombie.js对其进行集成测试。
我要做的是等到 Ajax 轮询循环从服务器接收到数据。数据应该在 20 秒后收到,所以我browser.wait(done, callback)
用来检查数据是否存在,并将waitFor
最大超时设置为一分钟。
然而,browser.wait()
总是几乎立即返回,即使我的done
回调返回 false。
在僵尸 API 文档中,我阅读了以下内容browser.wait()
:
...它不能永远等待,尤其是对于可能重复触发的计时器(例如检查页面状态、长轮询)。
我想这就是我看到的行为的原因,但我真的不明白发生了什么。为什么我不能等待一分钟,直到我的轮询循环从服务器接收到数据?为什么不能browser.wait()
等待可能重复触发的计时器?我需要做什么来实施我的测试?