当你需要在 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 响应中提取特定条件下的值,实现灵活而精确的数据提取操作。