首页 > 解决方案 > 测试运行卡在进度 CodeceptJS + Puppeteer

问题描述

我正在使用 CodeceptJS + Puppeteer 进行测试。

我已经创建了几个场景,它们工作正常,但是一旦我用一个带有 AJAX 请求的按钮创建了另一个场景,我就遇到了一个问题,即一旦 API 响应 401,我的测试就会卡在一个进度中。

我以为我可以等一段时间,但失败了。这个过程只是停止并且永远不会继续。

我没有找到任何关于此的信息,因为看起来一切都应该没问题,但我不知道我能在这里做什么。

这是我的场景:

Scenario('invalid credentials', I => {
  I.fillField('._user .form-control', '123');
  I.fillField('._pass .form-control', '123');
  I.click('._login .btn');

  I.waitForElement('.login-box .alert-danger', 5);
});

这是一个控制台日志:

I click "._login .btn"
Emitted | step.passed (I click "._login .btn")
Step finished in 0.121 sec
Emitted | step.finish (I click "._login .btn")
Emitted | step.start (I wait for element ".login-box .alert-danger", 5)
I wait for element ".login-box .alert-danger", 5
Emitted | step.passed (I wait for element ".login-box .alert-danger", 5)
Step finished in 0.004 sec
Emitted | step.finish (I wait for element ".login-box .alert-danger", 5)
Emitted | step.start (I wait for element "Invalid Login Credentials", ".login-box .alert-danger")
I wait for element "Invalid Login Credentials", ".login-box .alert-danger"
> [Browser:Error] Failed to load resource: the server responded with a status of 401 (Unauthorized)

标签: javascriptpuppeteercodeceptjs

解决方案


使用 I.seeElement 而不是 I.waitForElement 帮助了我


推荐阅读