【问题标题】:Running Cypress through CircleCi通过 CircleCi 运行 Cypress
【发布时间】:2020-08-04 20:47:06
【问题描述】:

赛普拉斯在本地运行良好。当我尝试在 circle-ci 管道中运行它时,它有很多问题。首先,这是我工作流程的相关部分:

orbs:
  cypress: cypress-io/cypress@1.19.2
workflows:
  version: 2.1
  commit:
    jobs:
      - cypress/install:
          install-command: 'npm install --no-optional --unsafe-perm'

      - cypress/run:
          requires:
            - cypress/install
          start: 'lerna run start --parallel'

当我查看circle-ci中的操作时,编译成功但立即取消

project/applicable-folder: ℹ 「wdm」: Compiled successfully.


Build was canceled

在构建过程中我注意到了这一行

project/applicable-folder: Failed to load /root/project/.env.

.env 绝对存在。

npx cypress run 确实在此之后运行,但所有测试都失败了,因为即使 cy.visit('/'); 的测试也失败了。

为什么没有成功访问env文件?我错过了允许它运行的步骤吗?我什至应该让它运行吗?我不确定如何进行。

我也尝试使用 build 而不是 start,但这并没有更好的效果。

我也使用了手动策略:

测试:e2e: 码头工人: - 图像:码头图像 脚步: - 退房 - 恢复缓存: 键: - v2-deps-{{ .Branch }}-{{ checksum "package-lock.json" }} - v2-deps-{{ .Branch }}- - v2-deps- - 运行:npm ci - 保存缓存: 键:v2-deps-{{ .Branch }}-{{ checksum "package-lock.json" }} 路径: - ~/.npm - ~/.cache - 跑步: 名称:运行用户验收测试 命令:npm run cy:run

这将导致需要安装 Xvfb。

这是否意味着它应该在安装后工作?我宁愿使用 orb 版本。

编辑:我试用了库 start-server-and-test

脚本如下

"cy:pipeline": "start-server-and-test up http-get://localhost:8080 cy:run"
"cy:run": "cypress run --headless --record"
"up": "lerna run start --parallel"

新的柏树/运行

  - cypress/run:
      requires:
        - cypress/install
      record: true
      command: 'npm run cy:pipeline'

但我一直收到同样的错误,

【问题讨论】:

    标签: pipeline cypress circleci end-to-end xvfb


    【解决方案1】:

    尝试观看官方 circleci youtube 频道关于 cypress 集成的 this 精彩演示,它应该有助于解决您的问题

    【讨论】:

    • 我看过那个视频,内容非常丰富。据我所知,我的设置应该可以工作。
    【解决方案2】:

    我认为 webpack 开发服务器正在立即退出,这是react-scripts 吗?

    【讨论】:

    • 是什么导致它立即退出?它没有使用 react-scripts。
    • 我编辑了问题以包含start-server-and-test 尝试。它尝试运行测试,但未能加载 /,即使插件内置了固有等待。这意味着插件找到:8080 但赛普拉斯没有?
    【解决方案3】:

    解决方案很简单。

    我所要做的就是将 install-command 从 cypress/install 移动到 cypress/run

      - cypress/install
    
      - cypress/run:
          requires:
            - cypress/install
          start: 'lerna run start --parallel'
          install-command: 'npm install --no-optional --unsafe-perm'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-28
      • 2019-11-25
      • 2021-07-18
      相关资源
      最近更新 更多