如何使用 CodeceptJS 在 GitLab CI 中实现自动测试阶段?

Posted

技术标签:

【中文标题】如何使用 CodeceptJS 在 GitLab CI 中实现自动测试阶段?【英文标题】:How to implement the autotesting stage in GitLab CI using CodeceptJS? 【发布时间】:2021-11-19 02:57:56 【问题描述】:

我正在尝试根据示例在 GitLab CI 管道中配置自动测试的启动阶段:

CodeceptJS GitLab Integration

重现步骤:

    我克隆了这个存储库https://gitlab.com/paulvincent/codeceptjs-e2e-testing
git@gitlab.com:paulvincent/codeceptjs-e2e-testing.git
    添加更改并推送

因此,作业提交错误

如果有人设置了 CodeceptJS + Gitlab CI,请分享配置 .gitlab-ci.yml

【问题讨论】:

在第 77 行的第二个屏幕截图中,您显示了 1 个失败的测试。这似乎表明您的测试运行成功,但编写的一个 e2e 测试因错误而失败。上面的错误消息 (mceu_3 was not found) 似乎表明缺少元素(或错误的 ID 选择器,因为它以 # 为前缀)。您确定这是 CI 问题,而不是您的测试问题吗? @Patrick 非常感谢!你说的很对。我注释掉了问题区域,提交了修改,测试成功了 完美,我会继续留下这个答案,这样你就可以接受它来结束问题:) 【参考方案1】:

看起来您在使用 GitLab 时没有遇到问题,就像您的测试失败一样。在图像的第 77 行,它显示了基于未找到 mceu_3 id 的测试失败。解决该测试后,您的工作应该会成功完成。

请注意,如果您想将测试结果(例如 junit 结果)添加到合并请求中,您需要在工件上为作业设置 when:always,以便即使作业失败,它也会收集报告!

【讨论】:

以上是关于如何使用 CodeceptJS 在 GitLab CI 中实现自动测试阶段?的主要内容,如果未能解决你的问题,请参考以下文章

使用 CodeceptJS 时如何打开新选项卡或窗口

如何配置 CodeceptJs 与 appium 一起在移动设备上进行网站测试

使用 WebDriver 在 codeceptJS 中按类获取元素

如何在 CodeceptJS 中尝试 Catch

使用 codeceptJS 在 appium 中单击 Element 不起作用

使用 CodeceptJS/WebdriverIO 并行执行浏览器