JMeter 教程:JSON 断言的简单介绍

目录

[JMeter 教程:JSON 断言的简单介绍【快速上手】](#JMeter 教程:JSON 断言的简单介绍【快速上手】)

[✅ 什么是 JSON 断言?](#✅ 什么是 JSON 断言?)

[🛠️ 使用前提](#🛠️ 使用前提)

[📄 JSON 断言添加步骤](#📄 JSON 断言添加步骤)

[步骤一:添加 JSON Assertion](#步骤一:添加 JSON Assertion)

[📌 示例说明](#📌 示例说明)

[✅ 常用 JSONPath 写法速查](#✅ 常用 JSONPath 写法速查)

[✅ 断言结果查看](#✅ 断言结果查看)

[📌 小技巧](#📌 小技巧)

[✅ 总结](#✅ 总结)


在接口测试中,光看到接口返回"200 OK"是不够的,我们还需要判断接口是否真的返回了 正确的数据内容 。这时候,JMeter 的 JSON 断言(JSON Assertion) 就派上用场了。

本文将带你快速了解如何使用 JSON 断言判断接口返回的字段值是否符合预期。


✅ 什么是 JSON 断言?

JSON 断言是 JMeter 用于验证响应结果中的 JSON 数据的工具。

它可以:

  • 判断某个字段是否存在

  • 判断字段值是否等于某个值

  • 判断返回结构是否包含指定路径

适用于所有返回 JSON 格式的接口(比如 RESTful API)。


🛠️ 使用前提

  • 你正在测试的接口返回 JSON 格式响应(例如登录接口、查询接口)

  • 已添加 HTTP 请求 + 查看结果树组件


📄 JSON 断言添加步骤

步骤一:添加 JSON Assertion

  1. 右键你的 HTTP 请求 → AddAssertionsJSON Assertion

  2. 配置 JSON 断言项:

选项名 含义
JSON Path 要断言的字段路径(使用 $ 表示根)
Expected value 期望值(要和实际值一致)
Assertion Type 一般选择 ==(等于)
Validate 是否启用断言

📌 示例说明

假设你请求某个登录接口,返回如下 JSON:

java 复制代码
{
  "code": 200,
  "msg": "登录成功",
  "data": {
    "token": "abc123"
  }
}

你可以添加如下 JSON 断言:

JSON Path Expected Value
$.code 200
$.msg 登录成功

这样 JMeter 会自动断言返回值中是否包含这些字段,并且值是否一致。


✅ 常用 JSONPath 写法速查

JSON 结构 JSON Path 示例 说明
{"a": 1} $.a 取出 a 的值
{"data": {"token": "x"}} $.data.token 取出嵌套字段 token
{"list": [1,2,3]} $.list[0] 取数组第 1 项

✅ 断言结果查看

运行测试后:

  • 如果断言通过,响应结果是绿色 ✅

  • 如果断言失败,结果树会显示错误信息,便于快速定位问题 ❌


📌 小技巧

  • 断言失败不会终止整个测试计划,但可以通过设置 **"断言结果控制器"**来捕捉失败项

  • 你可以添加多个 JSON 断言,对多个字段进行验证

  • 对于布尔值、数字、字符串都可以断言,只要和 JSON Path 匹配即可


✅ 总结

项目 说明
工具组件 JSON Assertion
适用场景 接口返回为 JSON 格式
常用用途 验证字段值、存在性
配合组件 HTTP 请求 + 查看结果树

JMeter 的 JSON 断言功能强大又好用,是接口测试中必不可少的"真值校验"工具。掌握它,你就能真正验证接口的返回逻辑是否正确。


相关推荐
REDcker4 小时前
AIGCJson 库解析行为与异常处理指南
c++·json·aigc·c
全栈前端老曹5 小时前
【包管理】read-pkg-up 快速上手教程 - 读取最近的 package.json 文件
前端·javascript·npm·node.js·json·nrm·package.json
半熟的皮皮虾7 小时前
又重新写了个PDF工具箱-转换office格式/合并/拆分/删除常见操作都有了
python·程序人生·pdf·flask·开源·json·学习方法
我的golang之路果然有问题7 小时前
python中 unicorn 热重启问题和 debug 的 json
java·服务器·前端·python·json
kupeThinkPoem1 天前
QJsonObject能否嵌套查找?
qt·json
BD_Marathon1 天前
SpringMVC——json数据传递参数
json
程序员欣宸1 天前
LangChain4j实战之十二:结构化输出之三,json模式
java·人工智能·ai·json·langchain4j
秃了也弱了。1 天前
FASTJSON库:阿里出品java界json解析库,使用与踩坑记录
java·开发语言·json
shughui1 天前
JMter(六):jmete变量提取常用方式
jmeter·性能优化
大霞上仙1 天前
jmeter 两个循环控制器的使用例子
jmeter