运行 通过 CircleCi 的赛普拉斯

Running Cypress through CircleCi

Cypress 在当地 运行 非常受欢迎。当我在 circle-ci 管道中尝试 运行ning 它时,它有很多问题。首先,这是我工作流程的相关部分:

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文件访问不成功?我是否错过了一个允许 运行 的步骤?我什至应该允许它 运行 吗?我不确定如何进行。

我也尝试过使用构建而不是启动,但这并没有更好的效果。

我也用过手动策略:

测试:e2e: docker: - 图片:docker-图片 脚步: - 查看 - restore_cache: 键: - v2-deps-{{ .Branch }}-{{ 校验和 "package-lock.json" }} - v2-deps-{{ .Branch }}- - v2-部门- - 运行: npm ci - save_cache: 密钥:v2-deps-{{ .Branch }}-{{ 校验和 "package-lock.json" }} 路径: - ~/.npm - ~/.缓存 - 运行: 名称:运行 用户验收测试 命令:npm 运行 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

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

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

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

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

解决方法很简单。

我所要做的就是将安装命令从 cypress/install 移动到 cypress/run

  - cypress/install

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