Cypress:在 CL 运行时将参数传递到 npm 脚本中
2023-05-03
537
当我通过命令行运行脚本时,我尝试传递参数 param1 和 param2 。
这是 test.cy.js 中的代码
it('Clean data', () => {
const param1 = process.env.npm_config_param1;
const param2 = process.env.npm_config_param2;
before(function () {
cy.visit('/')
//Login
cy.get('#username').type(param1)
cy.get('#password').type(param2)
cy.get('#loginBtn').click()
})
我在 package.json 中定义了脚本
"my-script": "npx cypress run --spec \"test.cy.js\" --param1 value1 --param2 value2"
我在 CL 中运行
npm [email protected] --param2=11111111 run-script my-script
我收到错误 ' error: unknown option: --param1 '
我可以将参数传递到 Cypress 的 npm 脚本中吗?
2个回答
双破折号是将参数传递给内部脚本的正确方法,但它前面需要一个空格。
这个答案 将命令行参数发送到 npm 脚本 展示了很好的示例代码。
您在
package.json
中定义脚本
// no "placeholder" params on the script
"my-script": "npx cypress run --spec \"test.cy.js\""
您在 CLI 中运行
npm run-script my-script -- --env [email protected],pwd=11111111
您在测试中使用
const user = Cypress.env('user'); // [email protected]
const pwd = Cypress.env('pwd'); // 11111111
Joshua.J
2023-05-03
您应该将它们定义为环境变量,并且可以在命令行中使用(请参阅 文档 )。
对于您来说,它将是:
"my-script": "npx cypress run --spec \"test.cy.js\" --env param1=$value1,param2=$value2"
和
npm run my-script --value1 [email protected] --value2 11111111
您还可以参考此 如何在 Windows 上的 npm 脚本中使用变量
Wandrille
2023-05-03