咨询Cypress recording是否支持修改录制文件存储文件夹位置
Cypress 自定义录制文件存储路径方案
Cypress 原生支持自定义所有本地录制类产物(运行录屏、测试截图等)的存储路径。先后运行多轮测试仅能获取最新录制文件的原因是:默认配置下所有测试运行的产物输出路径完全一致,Cypress 不会自动对历史运行文件做重命名归档,同名文件会被新生成的产物直接覆盖。
固定路径配置
如果不需要频繁切换存储目录,直接修改项目根目录的Cypress配置文件即可:
// cypress.config.js const { defineConfig } = require("cypress"); module.exports = defineConfig({ videosFolder: "your/custom/path/videos", // 录屏存储路径 screenshotsFolder: "your/custom/path/screenshots", // 截图存储路径 e2e: { // 原有e2e测试配置保持不变 } })
运行时动态指定路径(适配多应用测试场景)
多应用先后跑测试时,不需要修改固定配置,通过命令行参数给每个应用的测试任务指定独立的输出目录即可,从根源上避免文件覆盖:
- 运行第一个应用测试:
npx cypress run --videosFolder ./records/app1/videos --screenshotsFolder ./records/app1/screenshots - 运行第二个应用测试:
npx cypress run --videosFolder ./records/app2/videos --screenshotsFolder ./records/app2/screenshots
自动归档配置
如果需要长期执行多轮测试,可以通过简单的启动脚本自动按应用名、运行时间生成独立存储目录,无需手动修改路径:
// run-test.js const { execSync } = require('child_process'); const appName = process.env.TEST_APP; const runId = Date.now(); const recordBase = `./auto-records/${appName}/${runId}`; execSync(`npx cypress run --videosFolder ${recordBase}/videos --screenshotsFolder ${recordBase}/screenshots`, { stdio: 'inherit' });
启动测试时传入应用标识即可自动归档:
- 应用1测试:
TEST_APP=app1 node run-test.js - 应用2测试:
TEST_APP=app2 node run-test.js
注意:未安装第三方归档插件的前提下,不要将不同批次、不同应用的测试录制产物指向同一目录,否则历史文件会被直接覆盖。
内容的提问来源于stack exchange,提问作者user18974278
相关产品推荐
相关产品推荐

