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



我正在研究从Protractor切换到Cypress.io。我已经启动并运行了一些测试,但是,我希望能够像使用Protractor一样将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的等价物是什么?

您必须设置env变量CYPRESS_baseUrl

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

我认为正确的方法是:

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

否则,config参数将传递给npm,而不是柏树。注意额外的--

祝你好运!

Brendan的回答是正确的。我想添加

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

可能不起作用,因为您试图将一些配置传播到package.json中的命令中。如果你改为做例如:

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

它应该很好用。

很高兴知道这一点,因为它还可以让您使用其他CLI选项(您事先不知道这些选项(。

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

我所做的只是:

export CYPRESS_BASE_URL=SOME_OTHER_URL
yarn cypress run

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

最新更新