通过CircleCi运行赛普拉斯

时间:2020-04-21 23:22:44

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

Cypress在本地运行良好。当我尝试在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文件?我是否错过了允许该步骤运行的步骤?我什至应该允许它运行吗?我不确定如何进行。

我也尝试过使用构建而不是开始,但这并不能更好地工作。

我还使用了手动策略:

test:e2e: 码头工人: -图片:docker-image 脚步: - 查看 -restore_cache: 按键: -v2-deps-{{.Branch}}-{{checksum“ package-lock.json”}} -v2-deps-{{.Branch}}- -v2-deps- -运行:npm ci -save_cache: 密钥:v2-deps-{{.Branch}}-{{校验和“ 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'

但是我一直收到相同的错误,

3 个答案:

答案 0 :(得分:0)

尝试观看{ci3} YouTube官方频道关于赛普拉斯集成的精彩介绍,这对解决您的问题会有所帮助

答案 1 :(得分:0)

我认为webpack开发服务器即将退出,这react-scripts偶然吗?

答案 2 :(得分:0)

解决方案很简单。

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

  - cypress/install

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