AngularJS量角器:等待服务回调?

时间:2015-03-20 15:37:44

标签: javascript angularjs protractor

所以,我正在写一个量角器测试来登录一个应用程序。当用户成功登录时,会出现弹出通知,说明您已成功登录。"

现在我正在执行browser.sleep()等待点击登录按钮后弹出窗口。我不喜欢这样做,在较慢的网络上,当我试图抓住弹出窗口或警报因为alert.accept()运行得太早时,Protractor没有等待足够长的时间并且测试失败。

有没有办法等待登录的承诺返回继续测试?

更新:

我认为我已经弄明白了。所以我这样做:



LoginView.loginButton.click().then(function () {
   browser.wait(exc.alertIsPresent()).then(function () {
     App.catchAlert();
   })
});




这似乎有效,但我还没有在较慢的网络上测试它。你觉得怎么样?

1 个答案:

答案 0 :(得分:1)

您需要专门等待警报出现。有一个名为Expected Condition的特定内置alertIsPresent

var EC = protractor.ExpectedConditions;

browser.wait(EC.alertIsPresent(), 10000);