搜索

首页  >  问答  >  正文

在 package.json 中使用 .env 变量:分步指南

我正在使用 Cypress 对我的 VueJS 项目运行一些测试。

我只想用我想要的浏览器运行测试,所以我制作了一个如下所示的 .env

BROWSER=edge

在 package.json 文件中,我编写了如下命令:

"scripts":{
      "cy:run" : "cypress run --browser %BROWSER%"
}

我知道我可以这样输入命令

"cy:run" : "cypress run --browser edge"

但是我创建 .env 文件的原因是测试完成后,我想用浏览器的名称保存测试结果。因此,当我更改 .env 中的浏览器时,我只运行 npm 命令。

但是没有成功。 Cypress 无法检测到我想要的浏览器。 我尝试了很多方法,包括这个。

谁能告诉我如何让它发挥作用?非常感谢。

我尝试过使用特定的浏览器,测试完成后,测试结果以我想要的名称保存,这意味着.env文件中的BROWSER可以使用。

P粉798343415P粉798343415241 天前428

全部回复(2)我来回复

  • P粉950128819

    P粉9501288192024-03-26 17:33:40

    完整的“浏览器”选项需要两个破折号

    "scripts":{
      "cy:run" : "cypress run --browser %BROWSER%"
    }
    

    或用一个破折号表示快捷方式“-b”

    "scripts":{
      "cy:run" : "cypress run -b %BROWSER%"
    }
    

    回复
    0
  • P粉497463473

    P粉4974634732024-03-26 09:28:56

    我通过使用 cross-env

    解决了这个问题

    首先,我使用 npm i cross-env 安装 cross-env

    在我的package.json中,我这样修改

    "scripts":{
       "run:env" : "cross-env BROWSER=\"edge\" npm run cy:run"
       "cy:run" : "cross-env-shell cypress run --browser=$BROWSER"
     }

    然后我运行npm run run:env

    现在一切正常。

    即使我删除了 .env 文件,process.env.BROWSER 仍然可用

    回复
    0
  • 取消回复