Npm 通过环境变量设置Cypress运行浏览器

Npm 通过环境变量设置Cypress运行浏览器,npm,command-line-interface,cypress,Npm,Command Line Interface,Cypress,我试图做的是设置在调用cypress run时启动的浏览器,其中包含以下环境变量: "env": { "TAGS": "@smoke", "browser": "chrome" 例如,当我打电话时: cypress run -- -e TAGS=$TAGS,-b $browser cypress run -- -e TAGS=$TAGS,-b=$browser cypress run -- -e

我试图做的是设置在调用cypress run时启动的浏览器,其中包含以下环境变量:

"env": {
"TAGS": "@smoke",
"browser": "chrome"
例如,当我打电话时:

cypress run -- -e TAGS=$TAGS,-b $browser
cypress run -- -e TAGS=$TAGS,-b=$browser
cypress run -- -e TAGS=$TAGS,b $browser
没有任何事情发生,而且每次调用默认的电子浏览器时,标记都可以正常工作

cypress run --browser chrome
工作很好,但如果可能的话,我想通过环境变量来实现,但不确定是否是,以及是否遗漏了一些内容


感谢您的关注和时间帮助

使用列出的3个命令,您试图将$browser值设置为env变量b。因此,您可以将浏览器变量设置为env var,并将命令设置为-
cypress run--browser$browser
3只是一个示例,我想组合几个选项命令。我已将变量设置为“browser”:“chrome”,但当我运行cypress run--browser$browser时,我得到的是:browser:“$browser”在您的系统上找不到或cypress不支持。在运行测试之前,是否将浏览器设置为环境变量?e、 g在Linux/Unix系统上,您可以通过
export browser=chrome
执行此操作,然后运行cypress命令。是的,我在Windows上,在cypress.json中有一个包含所有环境变量的env对象。如果您在cypress.env.json中有此对象,则在运行cypress run命令时无需将其作为参数传递。cypress读取这些变量的方式存在层次结构。如果作为CLI参数传递,它将不会从json文件中读取。它将尝试从windows终端会话中读取。