如何在脚本命令中传递环境变量



我有以下cypress nodeJS脚本命令在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是动态参数,我希望在运行ENVI=QAENVI=LIVE等测试时通过

我试过以下的事情,但没有为我工作

SET ENVI=QA
npm run cy:parallel

ENVI=QA npm run cy:parallel

$ENVI=QA npm run cy:parallel

请分享从命令行传递参数的正确方法

一种方法是使用CYPRESS_前缀。

为了使事情更容易(独立于操作系统),使用包cross-env。

npm install --save-dev cross-env

package.json

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

用一个简单的测试测试:

it('checks cross-env has set up CYPRESS_ENVI', () => {
expect(Cypress.env('ENVI')).to.eq('QA')                // passes
})

下面的命令对我有效:

设置环境变量的值如下:

$env:ENVI=QA(On Windows)

和修改脚本命令如下:

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

"cy:parallel" : "cypress-parallel -s cy:run -t 4 -d cypress/e2e/features/ -m false -a '"--env ENV=%ENVI%"'"

您可以使用--将npm命令与cypress命令分开,并且之后的所有内容都作为参数传递给cypress-parallel命令:

npm run cy:parallel -- --env ENV=QA

相关内容

  • 没有找到相关文章

最新更新