我正在使用 Cypress 对我的 VueJS 项目运行一些测试。
我只想用我想要的浏览器运行测试,所以我制作了一个如下所示的 .env
BROWSER=edge
在 package.json 文件中,我编写了如下命令:
"scripts":{ "cy:run" : "cypress run --browser %BROWSER%" }
我知道我可以这样输入命令
"cy:run" : "cypress run --browser edge"
但是我创建 .env 文件的原因是测试完成后,我想用浏览器的名称保存测试结果。因此,当我更改 .env 中的浏览器时,我只运行 npm 命令。
但是没有成功。 Cypress 无法检测到我想要的浏览器。 我尝试了很多方法,包括这个。
谁能告诉我如何让它发挥作用?非常感谢。
我尝试过使用特定的浏览器,测试完成后,测试结果以我想要的名称保存,这意味着.env文件中的BROWSER可以使用。
P粉9501288192024-03-26 17:33:40
完整的“浏览器”选项需要两个破折号
"scripts":{ "cy:run" : "cypress run --browser %BROWSER%" }
或用一个破折号表示快捷方式“-b”
"scripts":{ "cy:run" : "cypress run -b %BROWSER%" }
P粉4974634732024-03-26 09:28:56
我通过使用 cross-env
解决了这个问题首先,我使用 npm i cross-env
安装 cross-env
在我的package.json
中,我这样修改
"scripts":{ "run:env" : "cross-env BROWSER=\"edge\" npm run cy:run" "cy:run" : "cross-env-shell cypress run --browser=$BROWSER" }
然后我运行npm run run:env
现在一切正常。
即使我删除了 .env 文件,process.env.BROWSER 仍然可用