我正在尝试完成以下任务->现在我用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_ENV
和USER_TYPE
的值。
如果你想严格使用你给出的格式(npm run cy dev3,full
)来运行它,参数dev3,full
被传递给cypress.sh
,所以你可以直接在cypress.sh
中解析参数:
if [ ! -z "$1" ]; then
# do whatever here...
fi