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

Github Action CI/CD中Chrome无法启动问题求助

解决Github Action中Chrome无法启动的思路

1. 配置Chrome无头模式

CI环境无图形界面,必须给Chrome添加无头启动参数,同时补充适配CI环境的必要配置:

import { Builder, Capabilities } from 'selenium-webdriver';
import { Options } from 'selenium-webdriver/chrome';

const chromeOptions = new Options();
// 启用无头模式(新版Chrome推荐--headless=new)
chromeOptions.addArguments('--headless=new');
// 绕过沙箱机制,解决CI权限限制
chromeOptions.addArguments('--no-sandbox');
// 避免/dev/shm内存不足问题
chromeOptions.addArguments('--disable-dev-shm-usage');
// 禁用GPU(CI环境不需要)
chromeOptions.addArguments('--disable-gpu');

const driver = new Builder()
  .withCapabilities(Capabilities.chrome())
  .setChromeOptions(chromeOptions)
  .build();

2. 确保Github Action环境配置正确

在你的Action YML文件中,明确安装Chrome及对应依赖,匹配本地Node版本:

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: 配置Node.js环境
        uses: actions/setup-node@v4
        with:
          node-version: 20 # 需与本地开发环境Node版本一致
      - name: 安装项目依赖
        run: npm install
      - name: 安装Chrome浏览器
        uses: browser-actions/setup-chrome@v1
        with:
          chrome-version: stable
      - name: 运行自动化测试
        run: npm test

3. 校验依赖版本兼容性

  • 确保selenium-webdriver版本与CI环境中Chrome版本兼容,建议使用最新稳定版的selenium依赖
  • 本地与CI环境的Node、npm版本保持一致,避免依赖安装差异

4. 开启调试日志定位问题

若仍失败,在测试命令前添加调试日志输出,排查具体错误:

- name: 运行自动化测试
  run: |
    export DEBUG=selenium-webdriver*
    npm test

5. 处理权限相关问题

Ubuntu runner默认用户权限有限,--no-sandbox参数必须添加,可绕过Chrome的沙箱验证,解决启动权限问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 21:32:41