Verwendung von .env-Variablen in package.json: eine Schritt-für-Schritt-Anleitung
P粉798343415
P粉798343415 2024-03-25 22:08:51
0
2
467

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粉798343415
P粉798343415

Antworte allen(2)
P粉950128819

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

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

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

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

我通过使用 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 仍然可用

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage