我正在研究从量角器到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的等效项是什么?
答案 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