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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构