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

JMeter中如何根据ProductCode数组长度发起对应次数的动态URL请求

JMeter 按JSON数组元素批量发起请求实现步骤

1. 提取ProductCode数组为JMeter变量

分两种场景处理:

  • 若JSON从上游接口响应获取:
    在对应HTTP请求下新增JSON提取器,配置参数:
    • 引用名称:productCode
    • JSON Path 表达式:$.ProductCode[*]
    • 匹配数字:-1(提取所有匹配结果)
  • 若JSON为本地固定数据:
    新增JSR223 前置处理器,写入如下Groovy代码:
    // 解析固定JSON
    def targetJson = new groovy.json.JsonSlurper().parseText('{"ProductCode": ["V28334","V16P2","V16P3", "test", "fake"]}')
    def codeList = targetJson.ProductCode
    // 存储数组长度供循环调用
    vars.put("productCode_matchNr", codeList.size().toString())
    // 按序号存储每个产品编码
    codeList.eachWithIndex { code, index ->
        vars.put("productCode_" + (index + 1), code)
    }
    

执行完成后,会生成productCode_1、productCode_2...productCode_N格式的变量,同时productCode_matchNr存储数组总长度。

2. 配置循环控制器遍历数组

新增循环控制器,将循环次数设置为${productCode_matchNr},即可自动匹配数组长度循环对应次数。

3. 配置批量HTTP请求

在循环控制器下新增HTTP请求,核心配置如下:

  • 协议:https
  • 服务器名称/IP:填写你接口的实际域名
  • 路径:/你的接口前缀/${__V(productCode_${loopIndex})}

路径变量拼接说明:你可以提前在循环控制器下新增计数器,配置起始值为1、递增1、引用名称为loopIndex,即可简化变量拼接逻辑,无需处理循环下标从0开始的问题。

如果需要验证参数是否正确,可以在HTTP请求下新增调试取样器,运行后查看每次循环的产品编码是否匹配预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 19:21:02