news 2026/1/29 12:05:55

【性能测试】6_JMeter_JMeter断言

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【性能测试】6_JMeter_JMeter断言

文章目录

  • 一、JMeter断言
    • 1.1 断言的概念
    • 1.2 JMeter中常用断言
  • 二、响应断言
    • 2.1 场景
    • 2.2 操作方法
    • 2.3 同一个HTTP请求下包含多个响应断言
    • 2.4 参数详解
      • 2.4.1 Apply to:适用范围
      • 2.4.2 测试字段:要检查的项
      • 2.4.3 模式匹配规则
      • 2.4.4 测试模式
  • 三、JSON断言
    • 3.1 场景
    • 3.2 操作方法
      • 3.2.1 查看json响应
      • 3.2.2 添加json断言
    • 3.3 参数详解
  • 四、断言持续时间
    • 4.1 场景
    • 4.2 操作方法

一、JMeter断言

1.1 断言的概念

  • 断言: 让程序判断预期结果和实际结果是否一致。
  • 提示: JMeter断言是在请求的返回层面增加一层判断机制; 因为请求成功了, 并不代表结果一定正确, 因此需要检测机制提高测
    试准确性。

1.2 JMeter中常用断言

  • 响应断言
  • JSON断言
  • 断言持续时间(Duration Assertion)

二、响应断言

添加方式: 测试计划 --> 线程组–> HTTP请求 --> (右键添加) 断言 --> 响应断言(断言一定是在HTTP请求的子节点下)

2.1 场景

需求:jmeter 请求:https://www.baidu.com,让程序检查 响应数据中是否包含“百度一下, 你就知道“

2.2 操作方法

1、类型:

  • 响应文本:断言 响应体 中包含的字符串。
  • 响应代码:断言 响应状态码。

2、注意事项:

  • 一个响应文本中,可以放置多个 字符串 关键字。
  • 响应状态码,必须放在响应代码中。

2.3 同一个HTTP请求下包含多个响应断言

2.4 参数详解

2.4.1 Apply to:适用范围

  • Main sample and sub-samples: 作用于父节点取样器及对应子节点取样器;
  • Main sample only: 仅作用于父节点取样器;
  • Sub-samples only: 仅作用于子节点取样器;
  • JMeter Variable: 作用于jmeter变量(输入框内可输入jmeter的变量名称);

2.4.2 测试字段:要检查的项

  • 响应文本: 来自服务器的响应文本, 即主体, 不包括任何HTTP头
  • 响应代码: 响应的状态码, 例如: 200
  • 响应信息: 响应的信息, 例如: OK
  • Response Headers: 响应头部
  • Request Headers: 请求头部
  • Request Data: 请求数据
  • URL样本: 响应的URL
  • Document(text): 响应的整个文档
  • 忽略状态: 忽略返回的响应状态码

2.4.3 模式匹配规则

  • 包括: 文本包含指定的正则表达式
  • 匹配: 整个文本匹配指定的正则表达式
  • Equals: 整个返回结果的文本等于指定的字符串(区分大小写)
  • Substring: 返回结果的文本包含指定字符串(区分大小写)
  • 否: 取反
  • 或者: 如果存在多个测试模式, 勾选代表逻辑或(只要有一个模式匹配, 则断言就是OK) , 不勾选代表逻辑与(所有都必
  • 须匹配, 断言才是OK)

注意: Equals和Substring模式是普通字符串, 而不是正则表达式。

2.4.4 测试模式

即填写你指定的结果(可填写多个),按钮【添加】 、 【删除】 是进行指定内容的管理

三、JSON断言

该组件用来对JSON文档进行验证, 验证步骤如下:

  1. 首先解析JSON数据, 如果数据不是JSON, 则验证失败。
  2. 使用Jayway JsonPath 1.2.0中的语法搜索指定的路径。 如果找不到路径, 就会失败。
  3. 如果在文档中找到JSON路径, 并且要求对期望值进行验证, 那么它将执行验证操作。

添加方式: 测试计划 --> 线程组–> HTTP请求 --> (右键添加) 断言 --> JSON断言

3.1 场景

需求:让程序检查响应的JSON数据中, city对应的内容是否为“北京”

URL:https://www.weather.com.cn/data/sk/101010100.html

场景:响应数据可以转换为json数据时,首选json断言。否则为其它断言

3.2 操作方法

3.2.1 查看json响应

{"weatherinfo":{"isRadar":"1","rain":"0","temp":"18","city":"北京","WSE":"1","qy":"1011","njd":"暂无实况","cityid":"101010100","WD":"东南风","SD":"17%","Radar":"JC_RADAR_AZ9010_JB","time":"17:05","WS":"1级"}}

3.2.2 添加json断言

JsonPath语法 :https://github.com/json-path/JsonPath

$.代表整个json响应结果 第一种语法: $.一级键名.二级键名.三级键名 $.weatherinfo.city 第二种语法:$...N级键名(N是几级,前面应该有几个点) $..city 第三种语法:weatherinfo.city

3.3 参数详解

  • Assert JSON Path exists: 用于断言的JSON元素的路径
  • Additionally assert value: 如果您想要用某个值生成断言, 请选择复选框
  • Match as regular expression: 如果需要使用正则表达式, 请选择复选框
  • Expected Value: 期望值, 用于断言的值或用于匹配的正则表达式的值
  • Expect null: 如果希望为空, 请选择复选框
  • Invert assertion (will fail if above conditions met): 反转断言(如果满足以上条件则失败)

四、断言持续时间

断言持续时间:客户端发送请求,到收到服务器的响应时间,要求不超过指定的时间。

添加方式: 测试计划 --> 线程组–> HTTP请求 --> (右键添加) 断言 --> 持续时间断言

4.1 场景

需求:请求: https://www.jd.com ,让程序检查响应时间是否大于500毫秒

4.2 操作方法

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/22 9:44:26

幼儿园老师必备:用Qwen镜像快速制作教学用动物插图

幼儿园老师必备:用Qwen镜像快速制作教学用动物插图 1. 引言 1.1 教学场景中的视觉需求痛点 在幼儿园日常教学中,生动有趣的视觉素材是吸引孩子注意力、提升学习兴趣的关键。无论是讲述动物故事、教授自然知识,还是设计手工活动&#xff0c…

作者头像 李华
网站建设 2026/1/20 19:38:55

ESP32固件库下载小白指南:玩转无线通信模块

从零开始玩转 ESP32:手把手带你搞定固件库下载与开发环境搭建 你是不是也曾在搜索“esp32固件库下载”时,一头雾水?点进去不是命令行就是英文文档,连“固件库”到底是个啥文件都没搞明白,更别说成功烧录了。别急——这…

作者头像 李华
网站建设 2026/1/27 7:03:20

Whisper Large v3教程:构建语音搜索API服务

Whisper Large v3教程:构建语音搜索API服务 1. 引言 随着多语言内容的快速增长,语音识别技术在跨语言信息检索、智能客服、教育辅助等场景中扮演着越来越重要的角色。OpenAI发布的Whisper系列模型,凭借其强大的多语言支持和高精度转录能力&…

作者头像 李华
网站建设 2026/1/21 22:01:15

解决esptool检测不到COM端口的底层注册表检查法

深入Windows底层:用注册表排查法解决 esptool 找不到 COM 端口的顽疾在做ESP32或ESP8266开发时,你有没有遇到过这种场景?线插好了,板子也供电了,esptool.py --port COMx flash_id一执行——结果报错:No ser…

作者头像 李华
网站建设 2026/1/23 7:47:41

Java小白求职者面试:从Spring Boot到分布式缓存的技术探讨

场景:互联网大厂Java小白求职者面试 面试官:你好,超好吃。欢迎来到我们的技术面试。我们会从简单的问题开始,逐步深入,主要围绕Java后端开发的技术栈展开。准备好了吗? 超好吃:好的,…

作者头像 李华
网站建设 2026/1/26 16:15:39

支持实时录音与多格式导出|科哥定制版FunASR语音识别方案

支持实时录音与多格式导出|科哥定制版FunASR语音识别方案 1. 背景与核心价值 在语音交互、会议记录、视频字幕生成等场景中,高效准确的语音识别系统已成为关键基础设施。传统的ASR(自动语音识别)工具往往部署复杂、功能单一&…

作者头像 李华