I have the following cypress nodeJS script command in package.json:
"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}\"' " } -a is a dynamic parameter that I want to pass when running the test, such as ENVI=QA or ENVI=LIVE code>
I tried the following but none of them worked for me:
SET ENVI=QA npm run cy:parallel
ENVI=QA npm run cy:parallel
$ENVI=QA npm run cy:parallel
Please tell me the correct way of passing parameters from the command line.
One way is to use the
CYPRESS_prefix.To make things simpler (OS independent), use packagecross-env.
Install
package.json
"scripts": { "cy:run": "cross-env CYPRESS_ENVI=QA cypress run", ... }Test with a simple test:
it('检查cross-env是否已设置CYPRESS_ENVI', () => { expect(Cypress.env('ENVI')).to.eq('QA') // 通过 })Using the following command worked for me:
Set the value of the environment variable as follows:
$env:ENVI=QA(on Windows)And change the script command as follows:
Use
ENV=%ENVI%instead ofENV=${ENVI}