javascript - Cypress.io:是否可以在 Cypress 中设置全局变量,如果可以;如何?
问题描述
我正在尝试在 Cypress.io 中设置一个全局变量(NOT A GLOBAL ENV VARIABLE)。我想抽象一个我将一遍又一遍地使用的url以及我可以在多个文件(不仅仅是一个)中使用的东西。
另外,我不想将其设置为baseurl
. 我已经有了那套,我想不管它。
谁能帮我这个?
解决方案
我最近在 github 上的另一个博客链接中找到了答案:https ://github.com/cypress-io/cypress/issues/1121
但是这个博客中的答案是我的 Brian Mann 回答的......
“TL;DR - 只使用模块,而不是全局变量。
赛普拉斯只是 JavaScript。关于结构化文件的所有基本原则都适用于赛普拉斯,就像它适用于您自己的应用程序文件一样。
在这种情况下,您不断提及变量。变量是在特定文件中定义的东西,绝不是全局的。这意味着它们不可能被共享。变量可根据定义它们的本地范围进行访问。
为了使它们成为全局对象,您必须将它们附加到一个全局对象:window。但是,没有理由这样做,赛普拉斯自动内置了模块支持。这使您可以将函数导入每个规范文件,从而使它们比使用全局变量更有条理和更明显。
我们在这里有这个食谱:https ://docs.cypress.io/examples/examples/recipes.html#Node-Modules “
我希望这可以帮助 Stackoverflow 上的其他人回答这个问题!
推荐阅读
- android - 如何使用带有纹理视图的坐标在屏幕上绘制矩形?
- wordpress - 更改 Wordpress 媒体图像 URL
- linux - VSCode 在远程 linux 或 windows 机器上执行节点脚本
- file - 第一个 Flutter 应用程序,我遇到了一个错误
- javascript - 根据 js 收集的数据阻止机器人
- java - 如何更新 Firestore 集合中的所有文档?
- html - 'overflow-x: hidden' 不适用于单个元素?
- sql - 几何和几何集合之间的区别
- java - 设置 IntelliJ 重构和代码完成以在类字段之前插入“this”?
- scala - spark sql圆圆的