单行执行多条WDIO命令时首条失败即终止运行问题求助
WDIO多配置顺序执行不中断解决方案
你当前使用的&&是Shell的逻辑与运算符,仅在前序命令执行成功(退出码为0)时才会执行后续命令,这就是第一份配置用例失败后整个流程终止的原因。
你可以根据运行环境选择以下任意方案解决问题:
方案1:类Unix环境(Linux/macOS/Git Bash/WSL)通用方案
将命令分隔符从&&替换为;,Shell会按顺序执行所有命令,不受前序命令退出状态影响:
environment=staging npx wdio run ./e2e/wdio.regression.grid.conf.js ; environment=staging npx wdio run ./e2e/wdio.smoke.grid.conf.js
方案2:保留整体执行状态方案
如果你后续需要判断整套测试的最终执行结果,不想直接吞掉前序命令的失败状态,可以在前序命令末尾加|| true强制返回成功状态,再执行后续命令:
environment=staging npx wdio run ./e2e/wdio.regression.grid.conf.js || true && environment=staging npx wdio run ./e2e/wdio.smoke.grid.conf.js
方案3:Windows原生环境适配
- 若使用CMD运行,将分隔符替换为
&:
set environment=staging && npx wdio run ./e2e/wdio.regression.grid.conf.js & set environment=staging && npx wdio run ./e2e/wdio.smoke.grid.conf.js
- 若使用PowerShell运行,直接用
;作为分隔符即可:
$env:environment="staging"; npx wdio run ./e2e/wdio.regression.grid.conf.js ; $env:environment="staging"; npx wdio run ./e2e/wdio.smoke.grid.conf.js
内容的提问来源于stack exchange,提问作者ChanChow
相关产品推荐
相关产品推荐

