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


相关推荐
卡布奇诺-海晨6 小时前
Jmeter实现3000个参数进行并发
jmeter
成为大佬先秃头6 小时前
开放标准(RFC 7519):JSON Web Token (JWT)
spring boot·后端·json·jwt
ZC跨境爬虫7 小时前
Scrapy多级请求实战:5sing伴奏网爬取踩坑与优化全记录(JSON提取+Xpath解析)
爬虫·scrapy·html·json
带刺的坐椅9 小时前
Snack JSONPath 项目架构分析
java·json·java8·jsonpath
试试勇气9 小时前
C++实现json-rpc框架
网络协议·rpc·json
小贾要学习9 小时前
【Linux】应用层自定义协议与序列化
linux·服务器·c++·json
ZC跨境爬虫10 小时前
海南大学交友平台开发实战day7(实现核心匹配算法+解决JSON请求报错问题)
前端·python·算法·html·json
菩提树下的凡夫12 小时前
Qt5环境下Json数据按照设定顺序初始化修改和显示
json
A__tao13 小时前
一键实现 SQL → ES Mapping 转换,支持自定义 `text` 为 `json` 转换
sql·elasticsearch·json
Mike_6661 天前
txt_json和xml_json
xml·python·json