【问题标题】:Cypress E2E tests not running in CI mode on gitlab.comCypress E2E 测试未在 gitlab.com 上以 CI 模式运行
【发布时间】:2019-12-20 10:51:07
【问题描述】:

简介

我们很难在 gitlab.com 的 CI 运行器中设置 cypress。我们使用来自 vue-cli 的默认蓝图来搭建项目。我们尝试了各种不同的 gitlab.yml 配置。目前我们用完了 CI 分钟,因为我们尝试了很多不同的组合。

我们尝试了不同的 docker 镜像(来自这里:https://github.com/cypress-io/cypress-docker-images/),还遵循了我们在此处找到的 Crypress 的最佳实践:https://gitlab.com/cypress-io/cypress-example-docker-gitlab/

我们只是没有运气让它运行。在花费了几个小时之后,我们甚至不确定是否可以让 Cypress 使用 vue-cli 的默认设置运行。

我们还在 vue repo 上创建了一个问题,但它已关闭,供您参考:https://github.com/vuejs/vue/issues/10944

我们为问题报告填写了默认的 vue 模板,但由于它不是真正的“JavaScript”问题,因此很难正确填写。但我们试图提供尽可能多的信息。在 codepen 中,您可以找到我们的结果。 HTML 列是输出,JS 列是 YML 文件。我希望你能以某种方式使用这些信息

版本

2.6.10

复制链接

https://codepen.io/usamahamed/pen/WNbpdPE

重现步骤

这是 gitlab CI 管道结果,包括在 codepen 它给了这个

CypressError: cy.visit() failed trying to load:
We failed looking for this file at the path:
/builds/room/web/room-ui/ 

【问题讨论】:

  • 您是否仔细检查过它是否正在运行 - localhost:4458

标签: javascript vue.js gitlab cypress


【解决方案1】:

检查您的.yaml 文件,我认为您的应用程序没有运行。

  1. 没有应用程序运行日志
  2. 没有构建阶段实现
  3. 舞台上没有启动应用任务test-e2e > before_script

所以我想建议:

  1. 检查您的构建阶段。您让您的应用程序从哪里开始运行?
  2. 检查您的 before_script,添加一个步骤“npm ci”,如下所示:

https://gitlab.com/cypress-io/cypress-example-docker-gitlab/blob/master/.gitlab-ci.yml 或者 https://github.com/cypress-io/cypress-example-kitchensink/blob/master/.gitlab-ci.yml

您还应该等待您的应用程序运行以开始测试。您可以为此使用wait-on 模块:https://github.com/jeffbski/wait-on

【讨论】:

    猜你喜欢
    • 2018-12-12
    • 2019-08-22
    • 1970-01-01
    • 2020-11-01
    • 2020-03-30
    • 2022-08-23
    • 2020-12-04
    • 2022-12-16
    • 1970-01-01
    相关资源
    最近更新 更多