我正在为我公司的网络应用程序设置一个测试套件。我们当时使用四种环境(Production、Regression、Staging、Development)。我在我的 cypress.json 文件中设置了环境变量,但我希望能够将我的环境从回归切换到开发,并强制 cypress 将 baseURL 更改为我的新环境以及指向不同的 cypress.json 文件有发展变量。cypress.io 上有关环境的文档让我有点困惑,我不知道从哪里开始。
问问题
6198 次
2 回答
22
我使用 package.json 的脚本在不同的环境中运行柏树。您可以在 cypress 命令之前传入 env vars。它看起来像:
"scripts": {
"cypress:open:dev": "CYPRESS_BASE_URL=http://localhost:3000 cypress open",
"cypress:open:prod": "CYPRESS_BASE_URL=http://mycompanydomain.com cypress open",
"cypress:run:dev": "CYPRESS_BASE_URL=http://localhost:3000 cypress run",
"cypress:run:prod": "CYPRESS_BASE_URL=http://mycompanydomain.com cypress run",
}
如果您想创建 4 个单独的 cypress.json 文件,则可以根据环境将它们全部命名,并且当您运行与该环境对应的 npm 脚本时,只需在运行测试时将其复制为主 cypress.json 即可。
Files:
./cypress.dev.json
./cypress.prod.json
./cypress.staging.json
./cypress.regression.json
npm scripts:
"scripts": {
"cypress:run:dev": "cp ./cypress.dev.json ./cypress.json; cypress run;"
}
更新:
我在 cypress 仍处于测试阶段时写了这篇文章。使用配置标志似乎是一个更干净的选择:
https://docs.cypress.io/guides/guides/command-line.html#cypress-run
npm scripts:
"scripts": {
"cypress:run:dev": "cypress run -c cypress.dev.json;"
}
于 2018-04-13T06:08:23.287 回答
0
您可以将要与--config-file
参数一起使用的配置文件传递为:
句法:-
cypress open --config-file <config-file-name>
如果您有不同的环境文件,那么它应该是:
"scripts": {
"cypress:open:prod": "cypress open --config-file production-config.json",
"cypress:open:stag": "cypress open --config-file staging-config.json",
},
如果您看到上面的命令,我们是在告诉 cypress 将production-config.json
文件用于prod
环境,同样staging-config.json
用于stag
环境。
于 2021-12-24T14:01:43.127 回答