告诉什么量角器的 waitForAngular 被卡住了?

And*_*ert 6 javascript angularjs protractor

有什么方法可以确定量角器browser.waitForAngular()卡住了什么?

我的 Protractor 测试基本上加载页面,单击一个元素,然后等待加载新页面。我收到“超时等待量角器在 11 秒后与页面同步”错误;但是,我不使用$timeout,并且可以看到我的浏览器的开发人员控制台中没有未完成的 http 请求。

我可以在浏览器中手动重现与测试相同的步骤,然后运行

angular.getTestability(document.body)
    .whenStable(function() {console.log("holla")})
Run Code Online (Sandbox Code Playgroud)

并看到页面实际上在加载后 1 秒内稳定。

如果我编写一个量角器测试来加载第一页,然后使用browser.get('index.html#second-page'),则测试通过。

我知道我可以设置ignoreSerialization量角器,但老实说,我宁愿不这样做,因为我担心我的 Angular 项目中存在一些潜在的错误。我是否可以采取任何步骤来更深入地了解量角器中发生的事情?

小智 5

如果您的代码中有 setTimeout,则量角器将无法同步。考虑使用 $interval 代替。