11

我正在为我公司的网络应用程序设置一个测试套件。我们当时使用四种环境(Production、Regression、Staging、Development)。我在我的 cypress.json 文件中设置了环境变量,但我希望能够将我的环境从回归切换到开发,并强制 cypress 将 baseURL 更改为我的新环境以及指向不同的 cypress.json 文件有发展变量。cypress.io 上有关环境的文档让我有点困惑,我不知道从哪里开始。

4

2 回答 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 回答