后置处理器--jp@gc - JSON/YAML Path Extractor

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

1.需要下载插件,地址:

解压后把对应jar包放置对应的lib和lib/ext目录下,重启Jmeter;

 

2.在需要提取的请求添加一个:jp@gc - JSON/YAML Path Extractor

Jmeter 后置处理器--jp@gc - JSON/YAML Path Extractor & JSON Extractor,后置处理器JSON Extractor 提取json的多个值 随笔 第1张

 

2.填写Json path txtractorJmeter 后置处理器--jp@gc - JSON/YAML Path Extractor & JSON Extractor,后置处理器JSON Extractor 提取json的多个值 随笔 第2张

 

 

如果不知道结果是否正确,可以在需要提取的响应结果选择:Json path tester ,输入表达式,能查询出对应的结果:

 

Jmeter 后置处理器--jp@gc - JSON/YAML Path Extractor & JSON Extractor,后置处理器JSON Extractor 提取json的多个值 随笔 第3张

 

备注:

Json中的data是一个对象数组, data[0] 代表取的是第一个对象数组,data[*]代表取全部

$.data[0].id 代表取的是ID的值,

 

 

 

后置处理器JSON Extractor 提取json的多个值(转)

 

示例:

1  找一个响应结果是json格式的,分析响应结果。

比如下面的响应整个是个数组,其中有4个对象。因此取值用$[索引取0-3或*取所有].属性值

如果响应类似{"属性":[{"sx":1},{},{}]},整个响应是个对象。取sx的值:$.属性[0].sx

Jmeter 后置处理器--jp@gc - JSON/YAML Path Extractor & JSON Extractor,后置处理器JSON Extractor 提取json的多个值 随笔 第4张

 

2 jmeter添加步骤1分析的请求,并在该请求上点右键添加post processors 》 JSON Extractor

Jmeter 后置处理器--jp@gc - JSON/YAML Path Extractor & JSON Extractor,后置处理器JSON Extractor 提取json的多个值 随笔 第5张

1 分号分隔多个参数名,json path表达式,匹配第几个,默认值   【分隔符必须是分号】

  2 所有的个数一定要匹配  【试过了除了matchno(有默认值0),其他三个任一个不匹配该请求都没在结果树显示】

names of created variables :接收值的变量名

json path: json path表达式

match no:0随机;n取第几个匹配值;-1匹配所有,后续引用用 变量名_N 取第N个值。

default values: 缺省值,匹配不到值的时候取该值

Jmeter 后置处理器--jp@gc - JSON/YAML Path Extractor & JSON Extractor,后置处理器JSON Extractor 提取json的多个值 随笔 第6张

 

3 新建一个http请求获取参数值

Jmeter 后置处理器--jp@gc - JSON/YAML Path Extractor & JSON Extractor,后置处理器JSON Extractor 提取json的多个值 随笔 第7张

 

4 添加结果树,运行,查看结果。

Jmeter 后置处理器--jp@gc - JSON/YAML Path Extractor & JSON Extractor,后置处理器JSON Extractor 提取json的多个值 随笔 第8张

 

5 修改json extractor 获取数组的所有值   $[*].属性。match no=3取第3个。

Jmeter 后置处理器--jp@gc - JSON/YAML Path Extractor & JSON Extractor,后置处理器JSON Extractor 提取json的多个值 随笔 第9张

Jmeter 后置处理器--jp@gc - JSON/YAML Path Extractor & JSON Extractor,后置处理器JSON Extractor 提取json的多个值 随笔 第10张

 

6  match no=5,数组越界后,取default values

Jmeter 后置处理器--jp@gc - JSON/YAML Path Extractor & JSON Extractor,后置处理器JSON Extractor 提取json的多个值 随笔 第11张

Jmeter 后置处理器--jp@gc - JSON/YAML Path Extractor & JSON Extractor,后置处理器JSON Extractor 提取json的多个值 随笔 第12张

 

7  修改json extractor  设置match no =-1 匹配所有值;并修改接收参数的http请求的参数为 ${varname_N}。N=1-4.

Jmeter 后置处理器--jp@gc - JSON/YAML Path Extractor & JSON Extractor,后置处理器JSON Extractor 提取json的多个值 随笔 第13张

 

 Jmeter 后置处理器--jp@gc - JSON/YAML Path Extractor & JSON Extractor,后置处理器JSON Extractor 提取json的多个值 随笔 第14张

Jmeter 后置处理器--jp@gc - JSON/YAML Path Extractor & JSON Extractor,后置处理器JSON Extractor 提取json的多个值 随笔 第15张

 

8 修改json extractor, ${varname_N}的N越界之后取不到参数 【不会取json extractor里设定的默认值,因为N,P,F,D变量实际取到了值】

Jmeter 后置处理器--jp@gc - JSON/YAML Path Extractor & JSON Extractor,后置处理器JSON Extractor 提取json的多个值 随笔 第16张

Jmeter 后置处理器--jp@gc - JSON/YAML Path Extractor & JSON Extractor,后置处理器JSON Extractor 提取json的多个值 随笔 第17张

 

 原文:

https://www.cnblogs.com/dinghanhua/p/9823305.html

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄