8.Jmeter -Json Extractor -上一个接口的返回值作为下一个接口的请求参数- 1个变量:1个参数

 

接口响应结果,通常为HTML、JSON格式的数据,对于HTML的响应结果的提取,可以通过正则表达式,也可以通过XPath 来提取。

对于JSON格式的数据,可以通过正则表达式、JSON Extractor插件、BeanShell 来提取。

本次说下如何通过JSON Extractor 插件来提取JSON响应结果。

A接口返回的JSON响应结果如下格式,如何获取第一个 tagId 的数据,作为其他接口的参数呢

json串 []表示对象组成的数组,{}表示对象

第一个 tagId :54fbe630-d0a4-11ea-9621-bbde425650a5

第二个 tagId :54fbe631-d0a4-11ea-9621-bbde425650a5

 

{

"code":0,"message":"success",

"data":{"detail":

[

{"userName":"yang","tagId":"54fbe630-d0a4-11ea-9621-bbde425650a5","tagName":"tab1","tagColor":"rgba(0,133,249,1)","_id":"5f1fd44877aac70001d9fc0e"},

{"userName":"yang09174","tagId":"54fbe631-d0a4-11ea-9621-bbde425650a5","tagName":"tab2","tagColor":"rgba(0,133,249,1)","_id":"5f1fd44877aac70001d9fc0f"}

]

}}

 

获取第一个 tagId 的数据,作为其他接口的参数,具体操作步骤:

1. A接口下添加后置处理器:Json Extractor

 

8.Jmeter -Json Extractor -上一个接口的返回值作为下一个接口的请求参数- 1个变量:1个参数

 

2. 配置 Json Extractor

 

 

8.Jmeter -Json Extractor -上一个接口的返回值作为下一个接口的请求参数- 1个变量:1个参数

Name of Created variables: 供下一个接口使用的变量名, 自己定义的变量名称

JSON Path expressions :匹配表达式,写正确才能获取到正确的值

math No.(0 for random) :匹配数字(0代表随机,1代表第一个,-1代表所有)

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

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

 

3.  配置下一个接口参数

 

使用上一个接口的返回值, tagId   :${tagId}

{"user":"${user}","tagIdList":["${tagId}"]}

作为参数使用时,参数名称和 提取器中变量名称一致。 Name of Created variables:tagId  

即定义一个变量tagId ,下一个接口参数中用到tagId   的值,直接${tagId} 引用即可

8.Jmeter -Json Extractor -上一个接口的返回值作为下一个接口的请求参数- 1个变量:1个参数