Jmeter后置处理器之JSON提取器

文章来源:
https://blog.csdn.net/paidaxing_dashu/article/details/102390806
https://www.cnblogs.com/Zhan-W/p/10985816.html
https://www.jianshu.com/p/1f38ae3d2dcc

Jmeter后置处理器之JSON提取器_第1张图片

参数

  • Variable names:填写变量名,后面调用格式:${变量名}
  • JSON Path:通过这里的json path表达式提取
  • Match Numbers:匹配数字(-1表示所有,0表示随机,1表示第一个)
  • Default Values:找不到时默认值,随便什么null
  • Compute…:是否统计所有,勾选了之后,会有一个总值,变量名_ALL=…的

注:当json提取器要提取两个或以上数量值的时候,一定要填写默认值,不然会报错:“Mismatch between number of variables ,json expressions and default values”,反之:只提取两个值,默认值填了三个,也会报该错。

JsonPath

$:根节点
@:当前节点
.or[]:子节点
..:选择所有符合条件的节点
*:所有节点
[]:迭代器标示,如数组下标
[,]:支持迭代器中做多选
[start:end:step]:数组切片运算符
?():支持过滤操作
():支持表达式计算

应用

1)单值提取:

Jmeter后置处理器之JSON提取器_第2张图片
随便哪个写法都可以:
会把所有的name值取出来

$.data[*].["name"]
$.data[*].name
$..name

Jmeter后置处理器之JSON提取器_第3张图片
Jmeter后置处理器之JSON提取器_第4张图片

2)多值提取:

$.data[*].["name"];$.data[*].["age"]

所有多值写法中间都是用英文 ; 连接,缺省值个数也是一样
Jmeter后置处理器之JSON提取器_第5张图片
Jmeter后置处理器之JSON提取器_第6张图片

3)条件提取

顺序筛选:

$.data[*].name

这个表达式中,[]里的进行替换

[1] 正序取值,正数第二条
[:1] 正序取值,正数第一条
[:-1] 倒序过滤,倒序第一条
[1:] 正序过滤,正数第一条
[-1:] 倒序取值,倒序第一条

4)要具体到某个值

Jmeter后置处理器之JSON提取器_第7张图片

5)想要某一范围的值

想要id>200的手机号码
Jmeter后置处理器之JSON提取器_第8张图片

你可能感兴趣的:(#,后置处理器)