我在package.json中有以下的cypress nodeJS脚本命令:
"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
请告诉我正确的从命令行传递参数的方式。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
一种方法是使用
CYPRESS_前缀。为了使事情更简单(独立于操作系统),使用包cross-env。
安装
package.json
"scripts": { "cy:run": "cross-env CYPRESS_ENVI=QA cypress run", ... }使用简单的测试进行测试:
it('检查cross-env是否已设置CYPRESS_ENVI', () => { expect(Cypress.env('ENVI')).to.eq('QA') // 通过 })使用以下命令对我有效:
设置环境变量的值如下:
$env:ENVI=QA(在Windows上)并将脚本命令更改如下:
使用
ENV=%ENVI%替代ENV=${ENVI}