升级至Cypress 10后生成Cucumber报告遇https模块解析错误
问题描述
迁移到Cypress 10版本后,尝试生成Cucumber测试报告时触发以下错误,导致测试无法运行:
✘ [ERROR] 无法解析"https"
node_modules/@ng-apimock/cypress-plugin/dist/cypress.plugin.js:4:22: 4 │ const https = require("https"); ╵ ~~~~~~~"https"包未在文件系统中找到,但它是Node的内置模块。您是否正尝试为Node打包?可以使用"platform: 'node'"来解决此错误。
哎呀...我们在准备测试文件时发现错误:
cypress/support/e2e.js
解决方案
错误原因是Cypress打包过程未指定目标平台为Node,导致无法识别Node内置的https模块,解决步骤如下:
- 打开项目根目录的
cypress.config.js文件(没有则创建) - 在
defineConfig的e2e配置中添加experimentalBundleEsModules项,指定平台为node:
const { defineConfig } = require('cypress'); module.exports = defineConfig({ e2e: { // 保留您已有的其他配置 experimentalBundleEsModules: { platform: 'node' } } });
- 保存配置后重新启动Cypress测试即可
如果上述配置无效,可检查@ng-apimock/cypress-plugin的加载逻辑,确保插件仅在Node环境(而非浏览器测试环境)中被加载执行。
内容的提问来源于stack exchange,提问作者Bhrth
相关产品推荐
相关产品推荐

