angularjs - Protractor :WAITING方法不起作用

标签 angularjs asynchronous timeout jasmine protractor

我尝试使用wait() 方法代替sleep(),但它不起作用。
我有代码:

 browser.actions().click(filter_field).perform();
 browser.sleep(3000);
 if (baloon_info.isPresent()) { //some expections }
 else { expect(true).toBe(false); }

现在我想做一些类似的事情:
 var present_pri = browser.wait(function () {
   return balloon_info.isPresent();
 }, 3000);
 if (present_pri) { //some expections }
 else { expect(true).toBe(false); }

但如果气球不存在,我会收到错误消息:Wait timed out after 3117ms相反 expected true to be false (present_pri == 假)

我试着写:
var EC = protractor.ExpectedConditions;
browser.wait(EC.presenceOf(balloon_warning), 3000);
expect(balloon_warning.isPresent()).toBeTruthy();

但我总是有同样的错误。我做错了什么?

最佳答案

您需要处理等待超时错误:

browser.wait(EC.presenceOf(balloon_warning), 3000).then(function () {
    // success handler
}, function (error) {
    expect(true).toBe(false);
});

关于angularjs - Protractor :WAITING方法不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31828167/

相关文章:

ios - 来自线程的 NSURLConnection 同步请求与异步请求

c++ - 当 TCP TX 缓冲区填满时,boost::asio 会发生什么?

c# - 客户端的 basicHttpBinding ReceiveTimeout

c# - C# 上的异步事件最佳实践混淆

macos - Docker 机器超时 - 如何在不破坏机器的情况下修复?

php - 1分钟后出现500服务器错误

angularjs - typescript 命名参数就像在angularjs中使用的那样?

javascript - 使用 Web API 从数据库中检索图像,然后在 angularJS 中显示它

javascript - 如何将参数传递给 MEAN.js 包的express.js 服务器端路由。

javascript - 在 ecmascript 6 中定义 setter 时出错