有没有办法确定Protractor browser.waitForAngular()
被卡住了什么?
My Protractor测试基本上加载页面,点击元素,然后等待加载新页面。我得到"超时等待Protractor在11秒后与页面同步," 错误;但是,我没有使用$timeout
,并且可以看到我的浏览器的开发者控制台中没有未完成的http请求。
我可以在浏览器中手动重现与测试相同的步骤,然后运行
angular.getTestability(document.body)
.whenStable(function() {console.log("holla")})
并且看到该页面实际上在加载后的1秒内是稳定的。
如果我编写一个加载第一页的量角器测试,然后使用browser.get('index.html#second-page')
,测试就会通过。
我知道我可以在Protractor上设置ignoreSerialization
,但老实说,我不愿意,因为我担心我的Angular项目中存在一些阴险的错误。我是否可以采取任何措施来深入了解Protractor中发生的事情?
答案 0 :(得分:4)
如果代码中有setTimeout,则量角器将无法同步。考虑使用$ interval代替。