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

Bitbucket Pipelines运行Cypress失败:无法启动Chrome,疑与Percy相关

问题分析与解决方案

首先帮你理清疑惑:Percy内部是通过Puppeteer来处理页面快照生成的,所以它会启动自带的Chromium实例,而不是Cypress默认的Electron浏览器——这是Percy的正常设计,不是Bug,只是你的Bitbucket Pipelines环境缺少Chromium运行所需的系统依赖,才导致了启动失败。

具体解决步骤

你的报错核心是缺少libX11-xcb.so.1这类系统库,解决方法有两种:

方法1:手动安装缺失的依赖

在Bitbucket Pipelines的配置文件(bitbucket-pipelines.yml)中,在运行Cypress命令前,添加系统依赖安装步骤:

pipelines:
  default:
    - step:
        name: 运行Cypress + Percy测试
        image: node:14 # 或者你当前使用的Node镜像
        script:
          # 安装Chromium运行所需的系统依赖
          - apt-get update && apt-get install -y --no-install-recommends libx11-xcb1 libxcb-dri3-0 libxss1 libnss3 libgtk-3-0 libgbm-dev
          - yarn cy:ci --parallel --ci-build-id $BITBUCKET_BUILD_NUMBER

方法2:使用Cypress官方Docker镜像(更推荐)

Cypress官方提供的cypress/base系列镜像已经预装了所有Cypress和Chromium运行所需的依赖,直接使用它可以省去手动安装的麻烦:

pipelines:
  default:
    - step:
        name: 运行Cypress + Percy测试
        image: cypress/base:14.17.0 # 选择和你项目Node版本匹配的镜像
        script:
          - yarn cy:ci --parallel --ci-build-id $BITBUCKET_BUILD_NUMBER

验证说明

配置修改后重新触发Bitbucket Pipelines构建,Percy就能正常启动Chromium完成快照生成了。如果还有类似的依赖报错,只需要把对应的库添加到apt-get install的列表里即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 05:32:40