gpt4 book ai didi

javascript - 如何在 Jasmine 中强制执行默认超时间隔?

转载 作者:行者123 更新时间:2023-11-28 03:18:21 25 4
gpt4 key购买 nike

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

这是我的终端 -

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

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

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

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

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

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

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

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

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

这就是我测试它的方式 -

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);
});
)};

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

最佳答案

我建议不要将 Protractor 控制流和异步/等待混合在一起。这种情况下会出现像你这样的可怕错误。此外,控制流已被弃用并已从 v6.x 中删除

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

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

关于javascript - 如何在 Jasmine 中强制执行默认超时间隔?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59431951/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com