Jmeter元件——JSON Extractor后置处理器

时间:2022-04-25 16:07:38

场景使用

json extractor后置处理器用在返回格式为json的HTTP请求中,用来获取返回的json中的某个值。并保存成变量供后面的请求进行调用或断言等。

使用方法

1.常规操作

路径:选择HTTP请求>添加>后置处理器>JSON Extractor,如下图所示:

Jmeter元件——JSON Extractor后置处理器

要获取接口返回的数据,json格式如下:

Jmeter元件——JSON Extractor后置处理器

获取该参数的方式有两种,表达式不同而已

方式一:

Jmeter元件——JSON Extractor后置处理器

通过Debug Sampler在查看结果树中查看是否有获取成功值,如下:

Jmeter元件——JSON Extractor后置处理器

方式二:

Jmeter元件——JSON Extractor后置处理器

通过Debug Sampler在查看结果树中查看是否有获取成功值,如下:

Jmeter元件——JSON Extractor后置处理器

先实践操作了一波,可能还不知道这个元件上的参数如何设置,介绍如下:

Variable names(名称):提取器的名称

Apply to(应用范围):

Main sample and sub-samples:应用于主sample及子sample

Main sample only:默认的是这个,应用于主sample

Sub-samples only:应用于子sample

JMeter Variable :应用于变量命名的内容

Variable names:保存的变量名,后面使用${Variable names}引用

JSON Path  expressions:上一步中调试通过的json path表达式

Match Numbers:匹配数字(0代表随机,1代表第一个,-1代表所有)

Default Values:找不到时默认值,一般设置为NOT FOUND

Compute concatenation var(suffix_ALL):是否统计所有,即将匹配到的所有值保存,名为“变量名_ALL”,使用场景需要获取的值有多个,后面需要对这一组数据进行操作

注意点:

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

JSON Path  expressions中的参数详细如下:

JsonPath

描述

$

根节点

@

当前节点

.or[]

子节点

..

选择所有符合条件的节点

*

所有节点

[]

迭代器标示,如数组下标

[,]

支持迭代器中做多选

[start:end:step]

数组切片运算符

?()

支持过滤操作

()

支持表达式计算

2.查看结果树中操作

在查看结果树中设置如下,选择JSON Path Tester

Jmeter元件——JSON Extractor后置处理器

在JSON Path  expressions输入框中输入$.[0].carouselOID,并点击Test,可以调试JSON参数是否获取成功,如下图所示:

Jmeter元件——JSON Extractor后置处理器

下方显示出调试结果,这样就可以把该表达式写入到JSON提取器中,提高调试效率。

最后来两个很普通的参数提示示例:

JSON格式如下:

Jmeter元件——JSON Extractor后置处理器

JSON提取器设置如下:

Jmeter元件——JSON Extractor后置处理器

JSON格式如下:

Jmeter元件——JSON Extractor后置处理器

JSON提取器设置如下:

Jmeter元件——JSON Extractor后置处理器

记录点滴,只为更好的成长,加油!