【问题标题】:How do I pass Cypress CLI arguments in the --env with a space?如何在 --env 中使用空格传递 Cypress CLI 参数?
【发布时间】:2021-01-25 07:25:57
【问题描述】:

我从命令行运行赛普拉斯:

npx cypress open --env team=XXXX --config-file my_file.json

my_file.json 是我的配置文件,其中包含:

env: {
    "team": ""
}

我知道,当我通过 CLI 传递一个没有空格的值时,赛普拉斯运行器将在配置选项卡中显示该值。如何将值传递给类似团队:

--env team=XXXX XXXX

我已经尝试在参数周围使用""'',但它们没有奏效。谢谢。

【问题讨论】:

  • 我正在使用 Win 10 上的 Git Bash,MINGW64。
  • --env team="XXXX XXXX" ?
  • 我想将团队变量设置为其中包含空格的东西。 XXXX 只是代表一些文本块。
  • 是的,我明白了。那么--env team="XXXX XXXX" 呢?成功了吗?
  • 不,使用双引号或单引号传递在 CLI 上不起作用。这就是我问这个问题的原因:)

标签: javascript command-line cypress


【解决方案1】:

来自documentation,它说“使用逗号传递多个变量,不使用空格”。所以,一开始,听起来你想要做的事情是不可能的。但是,尝试不同的方法可能值得一试。特别是,从我提供的链接的这个屏幕截图中,

您可以看到最后一种方法传递了一个 JSON 对象。也许,如果由于某种原因赛普拉斯以不同的方式解析这个 JSON 对象,您可以尝试

cypress run --env team='{"key": "XXXX XXXX"}'

或者,您还可以拥有多个赛普拉斯配置文件,每个文件都有相关的team 值。但是,如果您有多个 team 值,这种简单的方法就不能很好地扩展。

【讨论】:

    【解决方案2】:

    我将在此处留下此评论,以防其他人正在寻找解决方案。

    这就是我所做的,它对我有用。

    在我正在做的终端中:

    npm run chat_true -- --env type="dev test"
    

    注意 --env 之前的“--”

    这是我发现覆盖我的 env 值的唯一方法,在 package.json 文件中设置,如:

    "chat_true": "cypress open --env type=live",
    

    我不需要在值的中间有空格,所以我没有在值周围使用引号,但我只是尝试了一下,它奏效了。

    我迟到了三个月 :D

    【讨论】:

    • 双引号适用于我的目的。也允许使用符号。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-02
    • 1970-01-01
    • 1970-01-01
    • 2023-01-12
    • 1970-01-01
    • 2018-04-20
    • 1970-01-01
    相关资源
    最近更新 更多