首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Jasmine中强制默认的超时间隔?

如何在Jasmine中强制默认的超时间隔?
EN

Stack Overflow用户
提问于 2019-12-21 06:26:26
回答 1查看 324关注 0票数 1

我正在尝试使用protactor和jasmine为我的自动化脚本设置超时。我已经将默认的jasmine超时设置为5秒。jasmineNodeOpts:{ defaultTimeoutInterval: 5000,}当我尝试测试5秒超时时,脚本总共运行了20秒,即使在规范超时之后也是如此。所以基本上它会一直执行,直到它超时4次。

这是我的终点站-

Jasmine规范超时。重置WebDriver控制流。

Jasmine规范超时。重置WebDriver控制流。

Jasmine规范超时。重置WebDriver控制流。

Jasmine规范超时。重置WebDriver控制流。

失败: 1)超时问题调试器设置超时并查看是否超过

消息:错误:超时-未在jasmine.DEFAULT_TIMEOUT_INTERVAL指定的超时内调用异步回调。Stack: Error: Timeout -未在jasmine.DEFAULT_TIMEOUT_INTERVAL指定的超时内调用异步回调。在tryOnTimeout (timers.js:289:5)的ontimeout (timers.js:427:11),在Timer.processTimers (timers.js:212:10)的listOnTimeout (timers.js:252:5)

消息:错误:超时-未在jasmine.DEFAULT_TIMEOUT_INTERVAL指定的超时内调用异步回调。Stack: Error: Timeout -未在jasmine.DEFAULT_TIMEOUT_INTERVAL指定的超时内调用异步回调。在tryOnTimeout (timers.js:289:5)的ontimeout (timers.js:427:11),在Timer.processTimers (timers.js:212:10)的listOnTimeout (timers.js:252:5)

消息:错误:超时-未在jasmine.DEFAULT_TIMEOUT_INTERVAL指定的超时内调用异步回调。Stack: Error: Timeout -未在jasmine.DEFAULT_TIMEOUT_INTERVAL指定的超时内调用异步回调。在tryOnTimeout (timers.js:289:5)的ontimeout (timers.js:427:11),在Timer.processTimers (timers.js:212:10)的listOnTimeout (timers.js:252:5)

消息:错误:超时-未在jasmine.DEFAULT_TIMEOUT_INTERVAL指定的超时内调用异步回调。Stack: Error: Timeout -未在jasmine.DEFAULT_TIMEOUT_INTERVAL指定的超时内调用异步回调。在tryOnTimeout (timers.js:289:5)的ontimeout (timers.js:427:11),在Timer.processTimers (timers.js:212:10)的listOnTimeout (timers.js:252:5)

这就是我测试它的方式-

代码语言:javascript
复制
describe('Timeout issue debugger', () => {
  afterEach(done => {
    helper.reportTestRails().then(function() {
      done();
    });
  });

  afterEach(() => {
    helper.updateResults();
  });

  it('Set timeout and see if it exceeds and works properly', async () => {
    browser.sleep(30000);
  });
)};

如有任何建议或解决方案,我将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-21 17:54:49

我建议不要将量角器控制流和异步/等待混合在一起。像你这样的可怕的虫子。此外,控制流已被弃用,并已从v6.x中删除

我建议: 1)在你的protactor配置文件中设置SELENIUM_PROMISE_MANAGER: false 2)到处使用await:在所有异步命令前加上await:

代码语言:javascript
复制
describe('Timeout issue debugger', function () {
  afterEach(async function () {
    await helper.reportTestRails();
    await helper.updateResults();
  });

  it('Set timeout and see if it exceeds and works properly', async function () {
    await browser.sleep(10000);
  });
)};

http://www.protractortest.org/#/async-await

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59431951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档