jmeter对JSON返回数据处理和后续调用
Posted 金天牛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
断言的可参考文档:https://www.cnblogs.com/georgexu/p/11224095.html
以上是关于jmeter对JSON返回数据处理和后续调用的主要内容,如果未能解决你的问题,请参考以下文章
JMeter 插件 Json Path 解析HTTP响应JSON数据
安卓用httpurlconnection怎么调用接口地址并获取返回值
Android 逆向ART 脱壳 ( InMemoryDexClassLoader 脱壳 | BaseDexClassLoader 构造函数 | DexPathList 构造函数及后续调用 )(代码片