以下错误源于您的测试代码,而不是赛普拉斯 - 未定义进程

Posted

技术标签:

【中文标题】以下错误源于您的测试代码,而不是赛普拉斯 - 未定义进程【英文标题】:The following error originated from your test code, not from Cypress - process is not defined 【发布时间】:2021-11-27 04:38:53 【问题描述】:

尝试在 Cypress 中运行测试时出现此错误。有人可以帮我解决这个问题吗?

这是我的 index.js

// Import commands.js using ES2015 syntax:
import './commands'

// Alternatively you can use CommonJS syntax:
// require('./commands')

Cypress.on('uncaught:exception', (err, runnable) => 
  // returning false here prevents Cypress from
  // failing the test
  return false
)

【问题讨论】:

您是否在任何地方声明了process?如果它是在其他地方定义的,你是否包含了这些文件? 感谢@MohitSharma 的回复。不,我还没有声明进程。 【参考方案1】:

当我在测试中导入 cypress 时发生这种情况,解决了问题

【讨论】:

【参考方案2】:

出错的那一行

const env = process.env

仅在 NodeJS 中有效,其中 process 是 Node 运行时提供的全局对象。

赛普拉斯既有一个 Node 进程,您可以通过文件 cypress/plugins/index.js 添加插件,也有一个 Browser 进程,您可以在其中将代码添加到 cypress/support/index.js

错误来自一个名为 ci-info 的包,因此看起来您已将它或使用它的东西导入到 cypress/support/index.jscypress/support/commands.js,或直接导入到测试中。

请检查您的所有导入。

【讨论】:

以上是关于以下错误源于您的测试代码,而不是赛普拉斯 - 未定义进程的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法强制赛普拉斯在同一个标​​签而不是另一个标签中打开

赛普拉斯:失败后是不是可以完成测试

赛普拉斯:测试元素是不是不存在

赛普拉斯 - 如何按顺序运行测试文件

如何使用赛普拉斯测试文件输入?

赛普拉斯测试因断言等于 DOM 标题而失败