Jenkins运行Cypress自动化测试报错:Cypress二进制文件缺失
Jenkins集成Cypress测试报错解决方案
问题1:Cypress二进制文件缺失(预期路径C:\Windows\system32\config\systemprofile\AppData\Local\Cypress\Cache\11.2.0\Cypress\Cypress.exe)
原因分析
- npm安装Cypress时仅安装了包依赖,未成功拉取对应版本的二进制文件
- Jenkins运行用户对系统默认缓存目录无读写权限,导致二进制文件无法下载或存储
解决步骤
- 强制重新拉取二进制文件:在Jenkins构建步骤中添加命令
npx cypress install --force,也可在项目package.json中添加脚本"cypress:install": "cypress install --force",然后执行npm run cypress:install - 自定义Cypress缓存目录:通过环境变量指定Jenkins有权限访问的路径,Windows环境下可在构建前添加命令
set CYPRESS_CACHE_FOLDER=C:\Jenkins\CypressCache,或在Jenkins任务的「环境变量」配置项中设置该变量 - 调整目录权限:给Jenkins服务运行用户添加对
C:\Windows\system32\config\systemprofile\AppData\Local目录的读写权限
问题2:指定HTML报告目录不存在
解决步骤
- 提前创建报告目录:在Cypress测试运行命令前添加目录创建命令,Windows环境用
if not exist "cypress/reports/html" mkdir "cypress/reports/html"(根据实际报告路径调整) - 校验Cypress配置:打开
cypress.config.js文件,确认reporterOptions中的reportDir路径正确,示例配置:
const { defineConfig } = require("cypress"); module.exports = defineConfig({ e2e: { reporter: 'mochawesome', // 若使用其他报告工具需对应调整 reporterOptions: { reportDir: 'cypress/reports/html', html: true } } });
- 核对Jenkins工作空间:确认Jenkins任务的工作空间指向项目根目录,避免因路径错位导致报告目录找不到
内容的提问来源于stack exchange,提问作者Gaurav Dwivedy
相关产品推荐
相关产品推荐

