jmeter的json提取器详解(json Extractor)

喜欢而已 提交于 2021-01-22 20:18:01

官方解释

 

 

我的理解

其实学过代码的都知道,就是变量赋值,然后引用而已,而jmter一般称为json提取器,LR简称为关联。

举个例子:

新增用户,删除用户,这要求删除新增必须为同一个用户,那么需要怎么做呢?

我的大概理解如下:

步骤1)新增用户,返回结果中有ID

步骤2)从新增用户返回结果中提取ID信息,并赋值给一个对象(变量)

步骤3)删除用户中引用这个变量即可

 

 

下面是实战例子,新增删除体验码:

设已弄好新增删除体验码请求,那么接下来的步骤只需要:

1、 在新增体验码请求中,添加json提取器。

添加方法为:xx请求-后置处理器-json extractor

 

 

2、 在新增体验码中的json提取器定义一个变量,提取返回结果。然后在下一个请求(删除体验码)中引用这个变量

新增体验码返回结果图

json提取器详解图

 

 

 

3、下一个请求(删除体验码)中,引用这个变量信息

 

 

4、成功了,看下一个请求(删除体验码)返回信息,每次删除的code都是不一样的

 

 

 

注意事项

 

1、如果返回结果的有多个嵌套,怎么办?

 

比如要提取下图中的violationcode的参数1345,要怎么做呢?首先,了解返回的结构,这个是一个字典里嵌套了一个列表,然后列表里再嵌套了一个字典。那么我们的json path expression就应该设置为$.result[0].violationCode

 

详解:其实,也没多难。代码中怎么取,就怎么取,学过代码就知道很简单了。

 

外面是一层字典,先取result,根据key(result)values

 

然后是一层列表,我们取第一个,就是0

 

然后是一层字典,再根据keyvalues即可,即violationcode取参数1345

 

(可以百度一些json在线解析,校验一下,更容易明白)

 

 

 

 

 

 

2、关于返回中有特殊字符,注意要转为ASCII码再使用

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!