You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Circle CI中按顺序运行Cypress的Chrome与Firefox E2E测试

优化后的Circle CI Cypress E2E配置方案

核心需求实现:Chrome测试完成后再执行Firefox

当前配置中Chrome和Firefox任务都仅依赖cypress/install,会并行执行。要实现串行,只需修改Firefox任务的requires字段,使其依赖Chrome任务完成。以下是完整优化配置:

version: 2.1
orbs:
  cypress: cypress-io/cypress@1.29.0
executors:
  # 合并重复的浏览器镜像配置,cypress/browsers系列镜像已包含Chrome和Firefox
  browser-executor:
    docker:
      - image: 'cypress/browsers:node18.16.0-chrome114-ff114' # 固定版本避免镜像更新导致的兼容性问题
  # 官方Electron测试推荐使用cypress/base镜像
  electron-executor:
    docker:
      - image: 'cypress/base:18'

workflows:
  build:
    jobs:
      - cypress/install:
          install-command: yarn install --frozen-lockfile --ignore-engines
          name: Install Dependencies

      - cypress/run:
          name: Chrome E2E Tests
          yarn: true
          requires:
            - Install Dependencies
          executor: browser-executor
          browser: chrome
          post-steps:
            - store_test_results:
                path: results
            - store_artifacts:
                path: cypress/screenshots
            - store_artifacts:
                path: cypress/videos # 新增存储测试视频,便于排查失败用例

      - cypress/run:
          name: Firefox E2E Tests
          yarn: true
          requires:
            - Chrome E2E Tests # 改为依赖Chrome测试完成,实现串行执行
          executor: browser-executor
          browser: firefox
          post-steps:
            - store_test_results:
                path: results
            - store_artifacts:
                path: cypress/screenshots
            - store_artifacts:
                path: cypress/videos

其他优化点说明

  • 固定镜像版本:放弃latest标签,使用具体版本号的镜像,避免因镜像自动更新导致测试环境不一致。
  • 合并冗余Executor:cypress/browsers系列镜像同时支持Chrome和Firefox,无需单独创建两个Executor,减少配置冗余。
  • 修正Electron镜像:官方推荐使用cypress/base系列镜像运行Electron测试,自定义的browsers/cypress-electron非官方镜像存在兼容性风险。
  • 移除无用命令:删除post-steps中的run: ls,该命令对测试流程无实际帮助,减少冗余执行步骤。
  • 任务命名规范化:将任务名改为更具描述性的名称,便于在Circle CI控制台快速识别任务用途。
  • 新增视频存储:Cypress默认生成测试视频,存储后可快速定位失败用例的问题场景。

内容的提问来源于stack exchange,提问作者Lakmal Rajith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 12:10:02