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
2. 配置 Json Extractor
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} 引用即可