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

无法禁用Cypress截图:配置相关参数后仍生成截图求助

解决Cypress配置screenshotOnRunFailure: false仍生成截图的问题

我来帮你排查这个困扰的问题——你已经在cypress.json里配置了禁用失败截图,但它还是顽固地生成?咱们一步步拆解可能的原因和解决办法:

1. 确认配置文件是否被正确读取

首先,先检查你的cypress.json是否在项目根目录,并且JSON格式没有语法错误。你的配置代码看起来是对的:

{ 
  "pluginsFile": "cypress/plugins/index.js", 
  "supportFile": "cypress/support/index.ts", 
  "video": false, 
  "screenshotOnRunFailure": false 
}

如果你的项目里同时存在cypress.config.js(或.ts),那要注意:从Cypress 10版本开始,默认会优先读取cypress.config.js而不是旧的cypress.json。如果是这种情况,你需要把配置迁移到新的配置文件中:

const { defineConfig } = require("cypress");

module.exports = defineConfig({
  e2e: {
    pluginsFile: "cypress/plugins/index.js",
    supportFile: "cypress/support/index.ts",
    video: false,
    screenshotOnRunFailure: false
  }
});

2. 检查命令行参数是否覆盖了配置

如果你运行Cypress时用了命令行参数,比如cypress run --screenshot-on-run-failure true,这个参数会直接覆盖配置文件里的设置。确保你的启动命令没有带这个强制开启的参数,比如直接用cypress run或者cypress open即可。

3. 排查自定义代码是否强制生成截图

有时候在support/index.ts或者plugins/index.js里的自定义代码会偷偷触发截图,比如:

  • 在afterEach钩子中手动调用了cy.screenshot():
afterEach(() => {
  // 这段代码会在每个测试后强制截图,不管配置如何
  cy.screenshot();
});
  • 引入了第三方插件或自定义插件,里面包含了自动截图的逻辑。

仔细检查这些文件里的代码,把强制截图的逻辑去掉或者加上条件判断。

4. 升级Cypress到最新稳定版

一些较旧的Cypress版本可能存在screenshotOnRunFailure配置的bug,导致不生效。建议升级到最新稳定版:

# npm
npm install cypress@latest --save-dev

# yarn
yarn add cypress@latest --dev

按照上面的步骤排查,应该就能解决截图依旧生成的问题啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:05:26