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

如何通过终端命令在无痕模式下运行Cypress测试?

解决Cypress在GitHub Action中以无痕模式运行测试的问题

方案一:修正Cypress配置文件逻辑

你之前的配置在UI模式生效但run模式失效,核心原因是浏览器家族的判断条件有误。Cypress中Chrome的browser.family值为chromium而非chrome,修正配置文件如下:

e2e: {
    setupNodeEvents(on, config) {
        on('before:browser:launch', (browser, launchOptions) => {
            // 对所有Chromium内核浏览器(Chrome、Edge等)启用无痕模式,排除Electron
            if (browser.family === 'chromium' && browser.name !== 'electron') {
                launchOptions.args.push('--incognito');
            }
            return launchOptions;
        });
    },
    // 保留你的其他E2E配置项
}

修改后,不管是UI模式还是cypress run命令行模式,启动Chrome时都会自动加载无痕参数。

方案二:直接通过命令行传递启动参数(无需修改配置)

Cypress支持在指定浏览器时附加启动参数,格式为--browser 浏览器名:args=参数,直接使用以下命令即可:

npx cypress run --spec "path/to/your/test-file.js" --browser chrome:args=--incognito --config chromeWebSecurity=false

这种方式更适合在GitHub Action的脚本中直接调用,无需改动配置文件,一条命令就能完成配置。

之前方法失效的原因

  1. --incognito并非cypress run的合法选项,直接添加会触发未知参数错误。
  2. 原配置中的browser.family === 'chrome'判断逻辑错误,导致run模式下未触发无痕参数的添加。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 18:07:15