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

如何通过命令行向Cypress的npm脚本传递参数?解决未知选项错误

解决Cypress测试通过npm脚本传递登录参数的问题

你遇到的错误是因为npm本身不识别--param1这类自定义选项,要实现参数传递需求,有两种可靠的方式:

方法1:使用npm的--分隔符传递参数

这种方式是把参数传递给npm脚本本身,再在package.json的脚本中把参数转为环境变量:

  1. 修改package.json中的脚本:
{
  "scripts": {
    "my-script": "param1=$1 param2=$2 cypress run" // Linux/macOS环境
    // Windows cmd环境请改成:"my-script": "set param1=%1 && set param2=%2 && cypress run"
    // Windows PowerShell环境请改成:"my-script": "$env:param1=$args[0]; $env:param2=$args[1]; cypress run"
  }
}
  1. 运行命令时,用--分隔npm命令和要传递的参数:
npm run my-script -- email111@gmail.com 11111111
  1. 在test.cy.js中依然通过process.env.param1和process.env.param2获取参数。

方法2:直接在命令行设置环境变量

这种方式更直接,不需要修改脚本,直接在运行命令前设置环境变量:

Linux/macOS终端:

param1=email111@gmail.com param2=11111111 npm run my-script

Windows cmd:

set param1=email111@gmail.com && set param2=11111111 && npm run my-script

Windows PowerShell:

$env:param1='email111@gmail.com'; $env:param2='11111111'; npm run my-script

这样在test.cy.js中同样可以通过process.env.param1和process.env.param2读取到参数值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 09:20:08