Skip to main content
Cypress应用

在CircleCI中运行Cypress

info
您将学习到
  • 如何使用Cypress Orb配置CircleCI运行Cypress测试
  • 如何缓存依赖项和构建产物
  • 如何在CircleCI中实现Cypress测试并行化

Cypress CircleCI Orb是Cypress的_官方_ CircleCI Orb。虽然您不需要使用Orb也能在CircleCI中运行测试,但使用Orb的好处是它能以更少的努力轻松安装、缓存和运行Cypress测试。该Orb抽象了在CircleCI中运行测试所需的常见步骤,让开发者更省心!

基础配置

Cypress CircleCI Orb是配置在您的.circleci/config.yml文件中的一段设置,能以极简方式正确安装、缓存和运行Cypress。

关于Orb快速入门指南和使用案例,请查看CircleCI的Cypress orb文档

一个典型项目可以这样配置:

.circleci/config.yml
version: 2.1
orbs:
# "cypress-io/cypress@4"会安装Orb的最新发布版本"s.x.y"
# 我们建议您使用严格的显式版本"cypress-io/cypress@4.x.y"
# 来锁定版本,避免意外的CI变更
cypress: cypress-io/cypress@4
workflows:
build:
jobs:
- cypress/run: # "run"任务来自"cypress" orb
start-command: 'npm run start'

就这样!您的仓库依赖项将被安装和缓存,Cypress测试将在CircleCI中运行。

并行化

一个更复杂的项目可能需要安装依赖项、启动服务器,并并行在4台CI机器上运行测试:

.circleci/config.yml
version: 2.1
orbs:
cypress: cypress-io/cypress@4
workflows:
build:
jobs:
- cypress/run:
start-command: 'npm run start'
cypress-command: 'npx cypress run --parallel --record --group all tests'
parallelism: 4

使用Orb为CircleCI配置带来了简洁性和参数静态检查。

您可以在我们的orb示例页面找到更多示例。

info

Cypress 真实世界应用(RWA) 使用Circle CI Cypress Orb、Codecov Orb和Windows Orb,在25台机器上并行测试超过300个测试用例,涵盖多种浏览器、设备尺寸和操作系统,并提供完整的代码覆盖率报告和Cypress Cloud录制

查看完整的 RWA Circle CI配置

更多示例

组件测试示例

.circleci/config.yml
version: 2.1
orbs:
cypress: cypress-io/cypress@4
workflows:
test:
jobs:
- cypress/run:
cypress-command: 'npx cypress run --component'

Yarn示例

.circleci/config.yml
version: 2.1
orbs:
cypress: cypress-io/cypress@4
workflows:
test:
jobs:
- cypress/run:
package-manager: 'yarn'
start-command: 'yarn start'

Chrome示例

Cypress默认使用Electron运行测试。install-browsers标志用于安装Chrome、Chrome for Testing、Edge、Firefox和geckodriver来运行测试。仅在cypress-command中传递--browser标志时需要此设置。

.circleci/config.yml
version: 2.1
orbs:
cypress: cypress-io/cypress@4
workflows:
test:
jobs:
- cypress/run:
install-browsers: true
start-command: 'npm run start'
cypress-command: 'npx cypress run --browser chrome'