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

MacOS下执行Cypress --headless仍弹出浏览器窗口的问题

解决Cypress执行headless命令仍打开Chrome窗口的问题

1. 修正命令写法

你的命令存在语法错误:npx npm run cypress --headless 不符合规范,正确写法二选一:

  • 若package.json已配置Cypress脚本:npm run cypress -- --headless(注意两个连字符,用于向脚本传递参数)
  • 直接调用Cypress CLI:npx cypress run --headless

2. 检查package.json的脚本配置

打开项目根目录的package.json,查看scripts字段中的cypress项:

  • 如果是 "cypress": "cypress open",该命令默认打开Cypress UI界面,加--headless参数也不会生效。可以改成 "cypress": "cypress run",或者拆分两个脚本:
    "scripts": {
      "cypress:open": "cypress open",
      "cypress:run": "cypress run --headless"
    }
    
    之后执行npm run cypress:run即可。

3. 检查Cypress配置文件

打开cypress.config.js或cypress.config.ts,确认以下配置:

  • 未强制设置headless: false
  • 浏览器启动选项未强制开启窗口:比如launchOptions中不要配置--window-size或--start-maximized这类会弹出窗口的参数,确保headless模式参数正确:
    import { defineConfig } from 'cypress'
    
    export default defineConfig({
      e2e: {
        browser: 'chrome',
        launchOptions: {
          args: ['--headless', '--disable-gpu', '--no-sandbox']
        }
      }
    })
    

4. 排查插件或依赖冲突

如果项目安装了Cypress相关插件(如cypress-dotenv、cypress-plugin-api等),暂时禁用这些插件后重新执行headless命令,排查是否是插件修改了Cypress运行模式。

5. 验证Chrome与Cypress版本兼容性

检查Chrome版本和当前Cypress版本是否兼容:尽量使用稳定版Chrome,同时将Cypress更新至最新稳定版(执行npm install cypress@latest --save-dev完成更新)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 01:25:37