使用JMeter从JSON响应的URL参数中提取特定值

在使用Apache JMeter进行API测试时,我们经常需要从JSON格式的响应中提取特定字段的值。这可以通过使用JMeter内置的JSON提取器和正则表达式提取器来完成。以下是一个具体的例子,展示了如何从一个JSON响应中提取rowId的值,同时处理字符串终止符。

假设我们有以下JSON响应:

复制代码
{
  "flag": "success",
  "formulaStatus": -1,
  "encryption": "0",
  "changestate": 1,
  "href": "/pf/ovdf/bd/openPage?pr=od&ll=115dfc704f96b039825a66f15b04&rowId=D96DB6B24EEE412BB0DE7E728EE193E6",
  "closer": false
}

我们的目标是提取rowId参数的值D96DB6B24EEE412BB0DE7E728EE193E6。这个值不是直接作为JSON对象的一个属性呈现的,而是作为一个URL的一部分,嵌套在href字段中。因此,我们需要两步来提取这个值。

步骤 1: 提取href字段

首先,我们使用JSON提取器来捕获href字段的值。JSON提取器可以直接从JSON结构中提取值。我们可以按照以下步骤配置JSON提取器:

  1. 添加JSON提取器到请求:在JMeter中,选择HTTP请求组件,然后右键选择"添加" -> "后置处理器" -> "JSON提取器"。

  2. 配置JSON提取器 :在JSON提取器的配置界面中,设置以下参数:变量名称 :extractedHrefJSON路径表达式 :$.href默认值 :NOT_FOUND

这样配置后,如果JSON响应格式正确,extractedHref变量将包含href字段的完整URL字符串。

步骤 2: 从URL中提取rowId

接下来,我们需要从extractedHref变量中提取rowId的值。我们可以使用正则表达式提取器来完成这个任务:

  1. 添加正则表达式提取器:在JSON提取器下面,右键选择"添加" -> "后置处理器" -> "正则表达式提取器"。

  2. 配置正则表达式提取器 :在正则表达式提取器的配置界面中,设置以下参数:应用到变量 :extractedHref正则表达式 :rowId=([^&"]+)模板 :$1$匹配编号 :1默认值 :NOT_FOUND

在这个正则表达式中,rowId=([^&"]+)的意思是查找rowId=之后的任何字符序列,直到遇到&、"或字符串结束。圆括号()表示捕获组,用于提取匹配的部分。这样修改后,正则表达式将在遇到引号"时停止匹配,这可以防止提取到额外的字符,如在JSON响应中紧跟rowId值后的引号和其他字段。

结论

通过以上步骤,我们可以有效地从JSON响应中提取rowId的值。这种方法不仅适用于本例,也可以广泛应用于需要从嵌套信息中提取数据的场景。JMeter的强大功能使得它成为API测试和数据提取的强有力工具。

文章转载自: ++查拉图斯特拉面条++

原文链接: https://www.cnblogs.com/n00dle/p/18087760

体验地址: 引迈 - JNPF快速开发平台_低代码开发平台_零代码开发平台_流程设计器_表单引擎_工作流引擎_软件架构

相关推荐
网络毒刘12 小时前
MCP 从 0 接入 Cursor:mcp.json 安装配置到最小调用与常见报错
json
小小龙学IT16 小时前
Go 语言 encoding/json 标准库深度解析:从 Tag 反射到流式处理
golang·json
李游Leo1 天前
HarmonyOS 7 + Node.js-JSON Schema:审核测试路径与版本事实的一致性门禁【鸿蒙心迹】
node.js·json·harmonyos
ha_lydms2 天前
MaxCompute中JSON函数
大数据·数据库·阿里云·json·dataworks·maxcompute·odps
LeoCrawls3 天前
Python 读取 JSON 常见报错排查,附完整处理函数
python·json·php
星河耀银海3 天前
数据解析:AI返回JSON数据在HTML5中的渲染方法
人工智能·json·html5
三8444 天前
Fastjson 漏洞 · 01 · 认识 Fastjson 与序列化基础
json·fastjson·反序列化
程序媛_4 天前
【JMeter】准备token文件
android·jmeter
一直在努力的小宁4 天前
【阅读笔记】具身操作的数采方案概览
后端·json·restful·具身智能·vla·vlm
wuyk5554 天前
Python实战项目05:JSON数据解析与数据可视化小案例|全套实战闭环
python·信息可视化·json