我正在研究从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-配置