当你需要在 JMeter 中对接收到的 JSON 响应进行处理时,JSON 提取器是一个非常有用的工具。在本文中,我们将讨论如何使用 JSON 提取器来提取特定条件下的值,以满足你的需求。
问题描述
假设你收到了以下 JSON 格式的响应结果:
{
"flag": "success",
"data": {
"list": [
{
"vouDetails": [],
"vouHead": {
"accaCode": "*",
}
},
{
"vouDetails": [],
"vouHead": {
"accaCode": "*",
}
},
{
"vouDetails": [],
"vouHead": {
"accaCode": "*",
}
},
{
"vouDetails": [],
"vouHead": {
"accaCode": "*",
"vouDate": "2023-12-14",
"vouDesc": "从工商银行提取现金",
"vouDetails": [],
"vouGroupId": "5a6b9037e6774596be73cd953042b523",
"vouGuid": "296cd820e1f5496084398b78c78ee8a9",
"vouSourceName": "出纳系统"
}
}
],
"page": {
"currentPage": 1,
"hasNextPage": false,
"hasPreviousPage": false,
"nextPage": 0,
"pageSize": 100,
"previousPage": 1,
"queryRecordSize": 5,
"startNum": 1,
"totalPages": 0,
"totalRows": 4
},
"pageList": []
}
}
你希望能够从上述响应中提取vouGuid
的值,且仅以vouSourceName
="出纳系统"为条件来执行提取操作。
解决方案
步骤一:添加 JSON 提取器
在 JMeter 的测试计划中,找到相应的 HTTP 请求,并在该请求下添加一个 JSON 提取器。
步骤二:配置 JSON 提取器
在配置 JSON 提取器时,设置如下属性:
- 变量名称: 输入一个变量名,例如 "cashVoucherGuid"。
- JSON 路径表达式: 输入要提取值的 JSON 路径。在这种情况下,路径将是 "$.data.list[?(@.vouHead.vouSourceName=='出纳系统')].vouHead.vouGuid"。
步骤三:执行测试并获取结果
执行测试后,你可以使用指定的变量${cashVoucherGuid}
来访问提取出的值。
通过以上配置设置 JSON 提取器,你应该能够成功地从 JSON 响应中提取vouGuid
的值,其中匹配条件为vouSourceName
为"出纳系统"。
使用 JMeter 的 JSON 提取器,你可以轻松地从 JSON 响应中提取特定条件下的值,实现灵活而精确的数据提取操作。