Jmeter笔记(6)JSON值的提取与传递(用后置处理器JSON Extractor实现json值的提取与传递 )

1、除了正则提取器,对于返回结果为 xml 或者 json 内容的请求,JMeter 分别有 XPath Extractor、JSON Path Extractor 等提取器进行提取
 
下载安装 Json Path Extractor插件
JMeterPlugins-ExtrasLibs-1.4.0.zip 包下载:https://www.jianshu.com/p/56a607fc0d8f
 
提取单个参数:
Variable names : 保存的变量名,后面使用${Variable names}引用
JSONPath Expression:JSON表达式
Match Numbers:匹配哪个,可为空即默认第一个(0代表随机,1代表第一个,-1代表所有)
Default Value:未取到值的时候默认值,一般设置为NOT FOUND
Compute concatenation var(suffix_ALL):是否统计所有,即将匹配到的所有值保存,名为“变量名_ALL”,使用场景需要获取的值有多个,后面需要对这一组数据进行操作
 
返回值中无数组时,如:{"statusCode":200,"data":{"userId":"4a2cbe616eb74f0d99190af072c8dea6","token":"37e7a9e198186f5a443e50e6138a5bd20bd"}}
可写为:$.data.id;
返回值中有数组时,如:{"statusCode":200,"data":[{"code":"407949","id":"aa477ad2085d492a99b877d14343d68d","name":"90一中4545"}]}
可写为:$.data[0].id;data[*] 代表取全部对象
 
JSON Path expression的规则可参考:https://blog.csdn.net/lluozh2015/article/details/54097449
 
 
添加断言,以验证提取值是否正确
 
将http请求中的值参数化为json中提取出的值
 
 
提取多个参数:
有多个参数时,用;隔开:
variable names设置为变量名1;变量名2
JSon Path expression设置为$.data.rows[0].liftId;$.data.rows[0].longitude
default values设置为:0;0

原文地址:https://www.cnblogs.com/testerhappy/p/9138884.html