Heim  >  Fragen und Antworten  >  Hauptteil

Verwendung von .env-Variablen in package.json: eine Schritt-für-Schritt-Anleitung

Ich verwende Cypress, um einige Tests für mein VueJS-Projekt durchzuführen.

Ich wollte den Test nur mit dem Browser ausführen, den ich wollte, also habe ich eine .env-Datei wie unten erstellt

BROWSER=edge

In der Datei package.json habe ich den folgenden Befehl geschrieben:

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

Ich weiß, dass ich solche Befehle eingeben kann

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

Aber der Grund, warum ich die .env-Datei erstellt habe, ist, dass ich nach Abschluss des Tests die Testergebnisse unter dem Namen des Browsers speichern möchte. Wenn ich also den Browser in der .env ändere, führe ich einfach den Befehl npm aus.

Aber es hat nicht funktioniert. Cypress kann den von mir gewünschten Browser nicht erkennen. Ich habe viele Methoden ausprobiert, darunter auch diese.

Kann mir jemand sagen, wie es funktioniert? Vielen Dank.

Ich habe es mit einem bestimmten Browser versucht und nach Abschluss des Tests wurden die Testergebnisse unter dem von mir gewünschten Namen gespeichert, was bedeutet, dass der BROWSER in der .env-Datei funktionierte.

P粉798343415P粉798343415207 Tage vor393

Antworte allen(2)Ich werde antworten

  • P粉950128819

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

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

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

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

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

    Antwort
    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 仍然可用

    Antwort
    0
  • StornierenAntwort