九、JMeter实战-JSON断言
一、JSON响应断言
该组件使您可以执行JSON文档的验证。
首先,它将解析JSON,如果数据不是JSON则失败。
其次,它将使用https://github.com/json-path/JsonPath中的语法搜索指定的路径。如果找不到该路径,它将失败。
第三,如果在文档中找到JSON路径,并要求针对期望值进行验证,它将执行验证。对于null值,在GUI中有一个特殊的复选框。请注意,如果路径将返回数组对象,则将对其进行迭代,并且如果找到期望值,则断言将成功。要验证空数组,请使用[]字符串。另外,如果patch将返回字典对象,则在比较之前将其转换为字符串。
什么是JSON
JSON(JavaScript Object Notation,JavaScript对象表示法)是一种轻量级的数据交换格式。JSON容易理解,便于阅读和编写;同时计算机也易于解析和生成,所以JSON有广泛的应用。
键值对的形式存在:
JSON断言分析:
- 返回的数据必须的JSON格式,否则会解析失败。
- 他将JsonPath语法搜索指定的路径,找不到路径,则会失败。http://goessner.net/articles/JsonPath/ 这个网址去学习JSON语法。
- JSON是键值对形式存在,通过路径找到键,可以对该键的值进行校验。
- 如果键的值为null,GUI中有复选框(Expect null),勾选上则表示以null作为预期值。
- 如果路径找到的数组对象(在列表页中比较常见这种情况),则会对数组中的数据进行轮询。如果其中有一个值和预期值匹配,那么断言也是成功的。
- 返回的是字典对象,则需要转为字符串后再进行比较。
添加 》 断言 》 JSON断言
JSON断言界面参数说明:
- 名称:节点的名称,显示在查看结果树中,自己根据实际情况定义。
- 注释:对该节点进行注释。
- 断言存在JSON路径:断言JSON元素的路径。
- 附加断言值:如果要使断言具有某个值,把这个值勾选上。如果写了(3)JSON元素的路径,要把这个值勾选上。
- 匹配为正则表达式:如果要使用正则表示式,选中该复选框。
- 预期值:JSON元素路径对应的值。
- 反转断言:就是否的意思,即如果符合就失败。
可以直接在查看结果树中进行JSON语法的测试。测试ok了再直接放在JSON断言中。
$ 表示跟节点。
[] 表示数组,0表示第一个;$[0] 表示跟节点后的第一个对象。
resultcode 即key,这里要获取resultcode的值,所以填写resultcode。
当接口的返回数据比较多的时候,可以去https://www.json.cn/进行解析:
举例:
取第一个id的值,$.data[0].id
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现