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

如何在JMeter中从JSON响应随机提取名称及其对应ID

JMeter随机提取chairs节点下id和name的操作方案

完全可以通过JSON提取器搭配内置功能实现,操作步骤如下:

步骤1:给接口添加JSON提取器

在返回目标JSON的HTTP请求节点上右键,依次选择「添加 → 后置处理器 → JSON提取器」,我们需要配置两个提取规则,分别提取所有chair的id和name:

提取所有id的配置:

  • 引用名称:chair_ids
  • JSON Path表达式:$..chairs.*.id
  • 匹配数字:-1(表示提取所有匹配结果,会自动生成chair_ids_1、chair_ids_2...格式的有序变量,同时生成chair_ids_matchNr变量存储匹配到的总数量)
  • 其他字段保持默认即可。

提取所有name的配置:

你可以在同一个JSON提取器里新增提取规则,也可以单独再添加一个JSON提取器,配置如下:

  • 引用名称:chair_names
  • JSON Path表达式:$..chairs.*.name
  • 匹配数字:-1
  • 其他字段保持默认即可。

步骤2:生成随机对应的id和name

为了保证随机取到的id和name属于同一个chair对象,推荐在JSON提取器之后添加一个「JSR223后置处理器」,填入以下代码:

// 生成1到总数量之间的随机索引
def randomIndex = new Random().nextInt(vars.get("chair_ids_matchNr") as int) + 1
// 把对应索引的id和name存入变量
vars.put("random_chair_id", vars.get("chair_ids_" + randomIndex))
vars.put("random_chair_name", vars.get("chair_names_" + randomIndex))

步骤3:直接调用变量

后续的测试步骤里,你可以直接通过${random_chair_id}调用随机取到的id,通过${random_chair_name}调用对应的name。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 02:36:04