根据我的理解,waitForAngular在每一步执行,并等待任何角度渲染和/或$ http调用,然后再进行下一步。
我遇到的问题是,我使用Angularfire / Firebase作为我的后端,在我的测试中,当我点击一个按钮时 - waitForAngular执行得太快,然后下一步发生了firebase已经回来了。
有没有人知道将waitForAngular扩展到的简单方法等待任何Angularfire调用?这将解决我的问题,我可以摆脱所有这些可怕的睡眠呼叫。
答案 0 :(得分:1)
如果你正在使用这样的东西
element(by.css('.btn')).click()
ptor.waitForAngular();
//execute something after
您可以尝试将其转换为嵌套的promise resolve
模式,例如
var ptor = protractor.getInstance();
ptor.findElement(protractor.By.css('.btn')).click().then(function(){
//execute something after
});
我只有firebase
的一些基本信息,但从未使用过它。但我想这应该有助于promises / http请求。