AngularJS Protractor:正在等待服务回调
AngularJS Protractor: waiting for a service callback?
所以,我正在编写一个量角器测试来登录应用程序。当用户成功登录时,会出现弹出通知,说明"您已成功登录"。
现在我正在做一个browser.sleep()
,等待点击登录按钮后弹出窗口。我不喜欢这样做,在速度较慢的网络上,Protractor等待的时间不够长,当我试图捕捉弹出窗口或警报时,测试失败了,因为alert.accept()
运行得太快了。
有没有办法等待登录时的承诺返回以继续测试?
更新:
我想我已经想通了。所以我在做这个:
LoginView.loginButton.click().then(function () {
browser.wait(exc.alertIsPresent()).then(function () {
App.catchAlert();
})
});
这似乎有效,但我还没有在较慢的网络上进行测试。你觉得怎么样?
您需要专门等待警报出现。有一个特定的内置预期条件,称为alertIsPresent
:
var EC = protractor.ExpectedConditions;
browser.wait(EC.alertIsPresent(), 10000);
相关文章:
- 在AngularJS服务中使用$http回调
- 在$q服务中捕获拒绝而不触发成功回调
- $http服务未触发成功或错误回调
- 将web服务回调的结果绑定到Javascript中的调用函数
- AngularJS Protractor:正在等待服务回调
- 如何访问ng-init或ng-checked中服务回调函数中声明的$scope变量
- 如何在Angular中设置异步HTTP服务的回调,以便在不定义数组的情况下在控制器中填充数组
- 如何处理AngularJS服务中的回调
- 如何访问回调函数之外的异步angularjs服务数据
- 服务回调中的KendoUI网格服务器动态列绑定
- 回调函数不会在使用 $timeout 的服务中只调用一次
- 如何为方向服务编写回调函数
- 为什么无法在 Jquery/ajax 调用中获取对 RESTful 服务的成功回调
- 如何使用角度休息服务设置超时回调事件
- Angularjs:配置使用提供程序中服务的回调的好方法
- AngularJS:在回调中设置私有服务变量
- Angular JS从服务和Http回调方法返回数据
- 回调如何在 AngularJS 调用 REST 服务中工作
- 角服务在回调函数中部分可用
- 使用AngularJS中的promise管理来自控制器的服务回调