首页 > 解决方案 > 等待元素在量角器中可见

问题描述

我花了几天时间尝试让 Protractor 点击元素在点击按钮后出现在页面上可见。但大多数时候我有这个错误:

  Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.
  Stack:
    Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.
        at ontimeout (timers.js:498:11)
        at tryOnTimeout (timers.js:323:5)
        at Timer.listOnTimeout (timers.js:290:5)

到目前为止,我尝试了几件事:

我让它工作的唯一方法是在尝试单击元素之前删除我尝试过的所有内容并使用 browser.sleep(10000) 。

如果有人知道可能导致问题的原因,或者我还可以尝试什么,欢迎您!

标签: javascriptangularpromiseprotractor

解决方案


即使我有类似的问题,我在我的配置中添加了这些行

 jasmineNodeOpts: {
// Default time to wait in ms before a test fails.
   defaultTimeoutInterval: 250000
},
allScriptsTimeout: 180000

在我的规格中

var originalTimeout;  
beforeEach(function () {
originalTimeout = jasmine.defaultTimeoutInterval;
jasmine.defaultTimeoutInterval = 50000;
});

it("texttobe", function(){
}

afterEach(function () {
jasmine.defaultTimeoutInterval = originalTimeout;
});

推荐阅读