Conseils sur les commandes de script pour transmettre des variables d'environnement
P粉295616170
P粉295616170 2023-09-02 13:07:19
0
2
463
<p>J'ai la commande de script cypress nodeJS suivante dans <code>package.json</code> : </p> <pre class="brush:php;toolbar:false;">"scripts" : { "cy:run": "npx cypress run --browser chrome", "cy:parallel" : "cypress-parallel -s cy:run -t 4 -d cypress/e2e/features/ -m false -a '"--env ENV=${ENVI}"'" }</pré> <p><code>-a</code> est un paramètre dynamique que je souhaite transmettre lors de l'exécution du test, tel que <code>ENVI=QA</code> /code></p> <p>J'ai essayé les solutions suivantes, mais aucune n'a fonctionné pour moi : </p> <pre class="brush:php;toolbar:false;">SET ENVI=QA npm run cy:parallel</pre> <p><code>ENVI=QA npm run cy:parallel</code></p> <p><code>$ENVI=QA npm run cy:parallel</code></p> <p>Veuillez m'indiquer la manière correcte de transmettre les paramètres à partir de la ligne de commande. </p>
P粉295616170
P粉295616170

répondre à tous(2)
P粉465675962

Une solution consiste à utiliser le préfixe CYPRESS_.

Pour simplifier les choses (indépendant du système d'exploitation), utilisez le package cross-env.

Installation

npm install --save-dev cross-env

package.json

"scripts": {
  "cy:run": "cross-env CYPRESS_ENVI=QA cypress run",
  ...
}

Test avec un test simple :

it('检查cross-env是否已设置CYPRESS_ENVI', () => {
  expect(Cypress.env('ENVI')).to.eq('QA')                // 通过
})
P粉384679266

L'utilisation de la commande suivante a fonctionné pour moi :

Définissez la valeur de la variable d'environnement comme suit :

$env:ENVI=QA(sous Windows)

et modifiez la commande de script comme suit :

Utilisez ENV=%ENVI%替代ENV=${ENVI}

"cy:parallel" : "cypress-parallel -s cy:run -t 4 -d cypress/e2e/features/ -m false -a '\"--env ENV=%ENVI%\"'"
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal