如何使用Cypress.io发送baseUrl作为参数

时间:2018-11-27 16:14:20

标签: cypress

我正在研究从量角器到Cypress.io的切换。 我已经启动并运行了一些测试,但是,我希望能够像量角器一样将baseUrl作为参数发送。

我尝试过:

$ npm run cypress:open --config "baseUrl=myUrl"-仍然使用我的配置文件中的baseUrl。

$ npm run cypress:open --env "baseUrl=myUrl"-仍然使用我的配置文件中的baseUrl。

和许多其他事情,没有一件事情是正确的。

我希望能够将参数传递给我的命令,这使我可以灵活地选择要在其中运行测试的环境。我可以使用Protractor使用以下命令来做到这一点:

$ ng e2e --suite testSuite --baseUrl myUrl

Cypress.io的等效项是什么?

4 个答案:

答案 0 :(得分:3)

您必须设置环境变量CYPRESS_baseUrl

CYPRESS_baseUrl=[your baseUrl] npm run cypress:open应该为您做

答案 1 :(得分:0)

布伦丹的答案是正确的。 我想补充一下

$ npm run cypress:open --config "baseUrl=myUrl"

可能不起作用,因为您尝试将某些配置传播到package.json内部的命令中。 相反,如果您愿意这样做,例如:

$ ./node_modules/.bin/cypress run --config baseUrl=myUrl

它应该可以正常工作。

这很高兴知道,因为它也可以让您使用其他CLI选项(您可能不提前知道)。

PS:-env 对于 baseUrl 不起作用,因为baseUrl是内置配置值,而不是常规的env变量。

答案 2 :(得分:0)

我认为正确的方法是:

$ npm run cypress:open -- --config baseUrl=myUrl

否则,将config参数传递给npm而不是cypress。

祝你好运!

答案 3 :(得分:0)

我所做的只是:

export CYPRESS_BASE_URL=SOME_OTHER_URL
yarn cypress run

这将覆盖baseUrl配置。参见:https://docs.cypress.io/guides/guides/environment-variables.html#Overriding-Configuration