更改shell变量的值作为npm run命令的参数



我正在尝试完成以下任务->现在我用cypress运行端到端测试。它正在通过npm命令启动。我有几个环境和不同的用户权限。我创建了一个shell脚本,其中存储了环境和用户权限的值。我想做的是有机会运行npm命令和参数来改变shell脚本变量的值。有人能给点提示吗,这可能吗?预期的行为是这样写:

npm run cy dev3,full

并有机会更改shell脚本变量的值以启动必要的环境和更改用户权限的值。

包。json命令:

"scripts": {
"cy": "./scripts/cypress.sh",
}

cypress.sh文件内容

#!/usr/bin/env bash
DEV_ENV="${DEV_ENV:-"dev3"}"
USER_TYPE="${USER_TYPE:-"full"}"
COMMAND="cypress open 
--browser chrome 
--config baseUrl=https://environment-$DEV_ENV.com 
--env DEV_ENV=https://environment-$DEV_ENV.com,USER_TYPE=$USER_TYPE
"
eval $COMMAND

您是否试图更改cypress.sh中看到的环境变量?如果是这样,您可以像这样执行npm run:

DEV_ENV=dev2 USER_TYPE=empty npm run cy

,会改变DEV_ENVUSER_TYPE的值。

如果你想严格使用你给出的格式(npm run cy dev3,full)来运行它,参数dev3,full被传递给cypress.sh,所以你可以直接在cypress.sh中解析参数:

if [ ! -z "$1" ]; then
# do whatever here...
fi

相关内容

  • 没有找到相关文章

最新更新