【问题标题】:How do I send baseUrl as a parameter with Cypress.io如何使用 Cypress.io 将 baseUrl 作为参数发送
【发布时间】:2018-11-27 16:14:20
【问题描述】:

我正在研究从 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 的等价物是什么?

【问题讨论】:

    标签: cypress


    【解决方案1】:

    你必须设置环境变量CYPRESS_baseUrl

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

    【讨论】:

      【解决方案2】:

      我认为正确的做法是:

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

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

      祝你好运!

      【讨论】:

        【解决方案3】:

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

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

        可能无法正常工作,因为您尝试将某些配置传播到 package.json 中的命令中。 如果相反,您会这样做:

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

        它应该可以正常工作。

        很高兴知道这一点,因为它还允许您使用其他 CLI 选项(您事先并不知道)。

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

        【讨论】:

          【解决方案4】:

          我所做的只是:

          export CYPRESS_BASE_URL=SOME_OTHER_URL
          yarn cypress run
          

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

          【讨论】:

            猜你喜欢
            • 2017-11-20
            • 2012-11-01
            • 2020-11-28
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-07-07
            相关资源
            最近更新 更多