Maison  >  Questions et réponses  >  le corps du texte

Conseils sur les commandes de script pour transmettre des variables d'environnement

<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粉295616170P粉295616170414 Il y a quelques jours429

répondre à tous(2)je répondrai

  • P粉465675962

    P粉4656759622023-09-03 10:10:57

    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')                // 通过
    })
    

    répondre
    0
  • P粉384679266

    P粉3846792662023-09-03 00:10:34

    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%\"'"

    répondre
    0
  • Annulerrépondre