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

如何在jenkins-taurus.yml中传递JMeter脚本的用户自定义变量?

Taurus向JMeter用户自定义变量传参的标准配置方法

是的,Taurus向JMeter用户自定义变量(UDV)传参的标准规范就是使用user.{自定义变量名}的命名格式,完整操作流程如下:

操作步骤

  • 第一步:整理JMeter脚本中的用户自定义变量,确保你需要动态传入的变量「名称」字段是固定可识别的,比如service_url、account、password,原有值可以留空,也可以保留默认值,Taurus传入的变量优先级更高会自动覆盖。
  • 第二步:在jenkins-taurus.yml中配置对应变量,有两种常用配置位置:
    1. 单场景专属变量:放在对应执行场景的properties下,仅对当前JMeter脚本生效
    2. 全局通用变量:放在modules.jmeter.properties下,对所有执行的JMeter脚本生效

配置示例

单场景变量配置

execution:
  - executor: jmeter
    scenario:
      script: your_test_script.jmx
      properties:
        user.service_url: "https://test-service.example.com"
        user.account: "test001"
        user.password: "Test@123456"

全局变量配置

modules:
  jmeter:
    properties:
      user.service_url: "https://test-service.example.com"
      user.account: "test001"
      user.password: "Test@123456"

Jenkins动态传参示例

如果需要在Jenkins构建时动态传入变量,无需修改yml配置文件,可以直接在执行bzt命令时通过-o参数覆盖:

bzt jenkins-taurus.yml -o execution.0.scenario.properties.user.service_url=${BUILD_SERVICE_URL} -o execution.0.scenario.properties.user.account=${TEST_ACCOUNT}

注意事项

  • 变量名大小写敏感,user.service_url对应JMeter里的service_url,拼写和大小写必须完全一致
  • JMeter脚本中引用变量的方式不用修改,还是沿用原有${service_url}的写法即可
  • 如果需要同时传递多套环境配置,可以把不同环境的变量拆分到独立的yml片段中,执行时合并加载即可,比如bzt base_config.yml test_env.yml

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 17:15:03