首頁  >  問答  >  主體

在 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粉798343415207 天前395

全部回覆(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
  • 取消回覆