我有一个角度应用,使用$routeProvider
将不同的部分加载到ng-view
。
所以,在我的e2e场景中,当我调用browser().navigateTo('/')
时,我还需要调用sleep(0.5)
或其他东西来等待实际出现的元素。
不幸的是,调用sleep
完全打破了测试!突然之间,框架的行为似乎根本看不到页面,并且永远找不到元素。
我的e2e测试中,我不必等待加载任何东西,可以找到我期望的所有元素,但如果我在那些测试中进行了一次睡眠调用,那么它们也会破坏。
有没有人建议看什么?有些方法可以增加控制台的冗长程度?将测试仪重新聚焦的一些方法?
其他信息:
答案 0 :(得分:0)
我建议您使用Protractor进行Angular E2E测试。这具有角度和回报承诺的意识。你可以这样做:
ptor.get('http://localhost/#/my-route').then(function () {
// Do something
});
你也可以像这样使用ptor.wait
:
var timeout = 10000;
ptor.wait(function () {
return {some condition}
}, timeout);
在继续前进之前,等待条件成立。
此外,您可以使用等待角度来解析任何承诺和http请求的ptor.waitForAngular()
。