将凭据传递给 Jmeter 命令行

Pass credentials to Jmeter command line

如何将凭证传递给 Jmeter 命令行以用作 HTTP 授权管理器 username/password 的 username/password?我正在使用 Jmeter 5.4。

我需要能够以编程方式从保管库或 Jenkins 凭据中提取凭据并传递给 Jmeter。硬编码或写入文件不是一种选择。

使用外部数据参数化 JMeter 测试的常规方法是:

  1. 在 HTTP 授权管理器中使用 __P() function,例如:

    ${__P(username,)}
    

    它将 return username 属性 值

  2. 通过 -J command-line argumentusername 属性 传递给 JMeter,例如:

    jmeter -Jusername=johndoe -n -t test.jmx ....
    

另一种选择是使用 __groovy() function:

从环境变量中读取值
${__groovy(System.getenv('username'),)}

或者如果您有 Custom JMeter Functions plugin installed you can do the same using __env() function

${__env(username,,)}