jmeter对JSON返回数据处理和后续调用
想要解决的问题:
测试时,token等前面接口返回的数据,后面的请求时需要用到,通过查询接口,获取response数据,作为下个请求post的参数值
后置处理器:JSON Extractor
1.先下载一个插件:JSONPathExtractor,使用时位置如图:

2.JSON提取器的参数说明

①Names of created variables: 后续请求的参数名称
②JSON Path expressions:JSON表达式 ,用$表示json返回数据的整体。
③Match No.(0 for Random):匹配哪个,可为空即默认第一个
④Default Values:未取到值的时候默认值
3.举例response返回JSON数据:
JSON Path expressions 中:①取值message,可用$.message;②取值token,可用$.data.token
4.后续使用方法

后面的HTTP请求需要前面的参数时,token直接用${token}即可。
5.返回数据较多的举例
如下,response返回数据:
{
"code": 2000,
"message": "success",
"body": {
"identifier": "JKCS5449-4",
"useScopeStr": "全部",
"executeTypeStr": "按周执行",
"timeDTOList": [
{
"executeTime": "08:00",
"weekStr": "星期六"
}
]
}
}
JSON Path expressions 中:
①. 取值identifier,可用$.body.identifier
②. 取值weekStr(数组),可用$.body.timeDTOList[0].weekStr
6. JSON响应断言
当使用JSON请求和返回数据时,会出现请求的返回状态码是200,结果正常。但在JSON的返回数据中,却有code一项说明JSON是否取值正常,例如上面的代码样例。此时需要判断JSON中的结果是否正确。
最简单的办法,就是判断JSON中是否包含正确的信息,例如第一个,正确的返回会包含“请求成功”。
添加“响应断言”,测试字段选择“响应文本”,匹配规则选择“字符串”,测试模式输入“请求成功”。
这样就可以判断JSON返回是否正常。

原文参考:https://www.cnblogs.com/rechin/p/8662744.html
如果想使用正则表达式提取,可参考:https://www.cnblogs.com/rechin/p/9134069.html

浙公网安备 33010602011771号