Heim > Fragen und Antworten > Hauptteil
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粉9501288192024-03-26 17:33:40
完整的“浏览器”选项需要两个破折号
"scripts":{ "cy:run" : "cypress run --browser %BROWSER%" }
或用一个破折号表示快捷方式“-b”
"scripts":{ "cy:run" : "cypress run -b %BROWSER%" }
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 仍然可用