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


相关推荐
bing_1583 小时前
HttpMessageConverter 的作用是什么? 它是如何实现请求体到对象、对象到响应体的自动转换的(特别是 JSON/XML)?
xml·json
一眼青苔5 小时前
laravel中如何使用Validator::make定义一个变量是 ,必传的,json格式字符串
json·php·laravel
一棵树长得超出它自己6 小时前
【jmeter】base64加密
jmeter
会飞的鱼先生17 小时前
vue2、vue3项目打包生成txt文件-自动记录打包日期:git版本、当前分支、提交人姓名、提交日期、提交描述等信息 和 前端项目的版本号json文件
前端·vue.js·git·json
还是鼠鼠18 小时前
JMeter元件(元组)--简单介绍
功能测试·测试工具·jmeter·单元测试
天道有情战天下2 天前
Jmeter使用及压测
jmeter
还是鼠鼠2 天前
Jmeter 安装包与界面汉化
测试工具·jmeter·单元测试·集成测试·模块测试
朴拙数科2 天前
Json rpc 2.0比起传统Json在通信中的优势
网络协议·rpc·json
还是鼠鼠2 天前
JMeter 教程:使用 HTTP 请求的参数列表发送 POST 请求(form 表单格式)
网络协议·jmeter·http