一、JSON提取器介绍
JSON提取器是JMETER工具中用于从JSON响应中提取数据的重要组件,常常用于接口关联场景中(参数传递)。
二、添加JSON提取器
举例(积分支付接口请求数据依赖于创建订单接口响应的payOrderId)
1.在需要提取数据的HTTP请求上,右键 → 添加 → 后置处理器 → JSON提取器
2.配置JSON提取器参数:
默认选择Main sample only
变量名称:存储提取值的变量名(我这里是payOrderId)
JSON路径表达式:$.data.payOrderId
(我这里之所以这样写,是因为需要参考创建订单接口响应数据中的json格式)
#创建订单接口响应数据的json格式
{
"msg": "",
"code": 0,
"data": {
"payOrderId": 914,
"id": 688
}
}
匹配数字:0表示随机,1表示第一个,-1表示所有
三、常用JSONPath表达式示例
1.提取单个值:
$.data.payOrderId --- 提取根节点下data对象中的payOrderId
$.items[0].id --- 提取items数组中第一个元素的id
2.提取多个值:
$.items[*].id --- 提取items数组中所有元素的id
$..name --- 递归查找所有name字段
四、使用提取的值
1.在后续请求中通过${变量名}引用
2.验证是否提取成功
在积分支付接口的请求体数据中成功拿到了创建订单接口返回的payOrderId值
在积分支付接口的响应数据中查看数据
{
"msg": "",
"code": 0,
"data": {
"displayContent": null,
"displayMode": null,
"status": 10
}
}
五、注意事项
1.JSONPath表达式区分大小写
2.变量作用域为当前线程组
3.对于复杂JSON结构,建议先用在线JSONPath测试工具验证表达式
4.考虑添加响应断言确保接口返回了预期的JSON结构