You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将命令行参数传递给package.json脚本中的playwright命令?

问题描述

我的package.json中有如下脚本:

"test:debug": "yarn build && playwright test --project=chromium-debug -c build && ts-node ./src/logs/generateLog.ts"

当我执行命令 yarn test:debug -g 'myTestName' 时,终端实际执行的命令是:

yarn build && playwright test --project=chromium-debug -c build && ts-node ./src/logs/generateLog.ts -g 'myTestName'

但我期望执行的命令是:

yarn build && playwright test --project=chromium-debug -c build -g 'myTestName' && ts-node ./src/logs/generateLog.ts

请问该修改脚本的哪部分才能实现这个需求?

解决方案

把脚本里的playwright test命令部分加上$@,修改后的脚本如下:

"test:debug": "yarn build && playwright test --project=chromium-debug -c build $@ && ts-node ./src/logs/generateLog.ts"

原理说明

$@是Shell中的特殊变量,它会捕获你执行yarn test:debug时传入的所有命令行参数(比如这里的-g 'myTestName'),并将这些参数直接插入到playwright test命令的末尾,这样参数就会被正确传递给playwright命令,而不会被误传到后面的ts-node命令中。

内容的提问来源于stack exchange,提问作者Alon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 21:14:52