有什么方法可以确定 Protractor 的 browser.waitForAngular()
被卡住了?
我的 Protractor 测试基本上加载页面,点击一个元素,然后等待新页面加载。我收到“11 秒后等待 Protractor 与页面同步时超时” 错误;但是,我没有使用 $timeout
,并且可以看到在我的浏览器的开发人员控制台中没有未完成的 http 请求。
我可以在浏览器中手动重现与测试相同的步骤,然后运行
angular.getTestability(document.body)
.whenStable(function() {console.log("holla")})
事实上,页面在加载后 1 秒内就稳定了。
如果我编写加载第一页的 Protractor 测试,然后使用 browser.get('index.html#second-page')
,则测试通过。
我知道我可以在 Protractor 上设置 ignoreSerialization
,但老实说,我宁愿不这样做,因为我担心我的 Angular 项目中存在一些潜在的错误。我可以采取任何步骤来更深入地了解 Protractor 中发生的事情吗?
最佳答案
如果您的代码中有 setTimeout, Protractor 将无法同步。考虑改用 $interval。
关于javascript - 告诉 Protractor 的 waitForAngular 卡在什么地方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27559112/