我有以下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=QA
或ENVI=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