JMeter:断言之响应断言

一、断言的定义
断言用于验证取样器请求或对应的响应数据是否返回了期望的结果。可以是看成验证测试是否预期的方法。
对于接口测试来说,就是测试Request/Response,断言即可以针对Request进行,也可以针对Response进行。但大部分是对Response做断言。
JMeter常见的断言元件如下:
1.响应断言
2.JSON Assertion
二、响应断言
▲ 配置项
Apply to:
1.在大多数情况下,只有主取样器具有所有必需的响应数据。但是很多Web应用使用了Ajax,JQuery技术,单个请求可以在内部产生多个子请求,并且每个请求都有其对应的响应数据。
比如请求某一个页面,页面里的js会调用其他请求。
2.在HTTP请求的高级设置的“Embedded Resources from HTML Files”项,勾选了“Retrieve All Embedded Resources”,在发送请求时,会解析相关的嵌入资源,也会导致取样器可能产生多个子取样器。
嵌入资源包括:images、applets、stylesheets、external scripts、frames/iframes、background images、background sound等。
3.有重定向的请求,并且勾选了“Follow Redirects”,则主取样器为最后返回的URL请求,第一次URL和重定向返回的所有URL请求为子取样器。
比如,使用http://www.sina.com.cn/访问新浪,会有一次重定向:
● 第一次请求: GET http://www.sina.com.cn/ 重定向返回:
Location:https://www.sina.com.cn/
● 第二次请求: GET https://www.sina.com.cn/
主取样器为第二次请求;第一次与第二次请求为子取样器。
● Main sample and sub-samples
范围包括主取样器与所有子取样器
● Main sample only
范围仅限于主取样器
●Sub-samples only
范围仅限于所有子取样器
●JMeter Variable Name to use
范围包括使用的JMeter变量
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036

Field to Test:
1.Text Response
响应正文。对于HTTP协议来说,是响应的message-body(不包括状态行与首部字段)
2.Response Code
响应代码。对于HTTP协议来说,是响应状态码,比如200、304、404等。
3.Response Message
响应消息。对于HTTP协议来说,是原因短语,比如OK、Not Modified、Not Found等。
4.Response Headers
响应首部字段。
5.Request Headers
请求首部字段。
6.URL Sampled
请求的URL。对于HTTP请求,若勾选了“Follow Redirects”,则包含重定向后的URL。
7.Document(text)
通过Apache Tika从各种类型的文档中提取文本。此选项开启也会严重影响性能,谨慎使用。
8.Request Data
请求数据。对于HTTP协议来说,是请求的message-body(不包括请求行与首部字段)
9.Ignore Status
通过将断言的结果与现有的响应状态相结合来确定取样器的总体成功。
当选择Ignore Status复选框时,将强制响应状态在计算断言之前是成功的。
HTTP协议在返回4xx和5xx的状态码默认是不成功的,勾选此项可用于在执行进一步检查之前设置状态成功。
请注意,这将具有清除任何以前的断言失败的效果,因此请确保只在第一个断言上开启此设置。
Pattern Matching Rules:
1.Contains
如果文本包含正则表达式模式,则为true
2.Matches
如果整个文本与正则表达式模式匹配,则为true
3.Equals
如果整个文本等于模式字符串(区分大小写),则为true
4.Substring
如果文本包含模式字符串(区分大小写),则为true
注意:
Contains和Matches模式支持Perl5类型的正则表达式;Equals和Substring模式使用文本字符串,不支持正则表达式。
5.Not
对断言结果进行否定。
6.Or
将多个测试模式以逻辑“或”组合起来。
Patterns to Test:
要测试的模式列表。每个模式都是单独测试的。如果模式失败,则不检查其他模式,使用多个模式设置一个断言与使用每个模式设置多个断言之间没有区别(假设其他选项相同)。
Custom failure message:
自定义断言失败信息。即设置“Assertion failure message”的值。
▲ 对请求做断言
1.断言请求首部字段
在“要测试的响应字段"选择“Request Headers”
2.断言请求URL地址分两种情况讨论:
1)若在“HTTP Request”中勾选了“Follow Redirects”,则断言对象包含请求URL,与重定向Location首部返回的URL,重定向若有多次,则包含每次返回的URL;
2)若在“HTTP Request”中没有勾选“Follow Redirects”,则断言对象只针对请求URL。
▲ 对响应做断言
1.断言响应首部字段
在“Field to Test”选择“Response Headers”
2.断言响应状态码
在“Field to Test”选择“Response code”
3.断言响应原因短语
在“Field to Test”选择“Response Message”
4.断言响应正文
在“Field to Test”选择“Text Response”
▲ 多模式断言
在“Patterns to Test”项中可以添加多个断言模式进行测试,多个模式可以使用“与”,“或”以及“非”进行逻辑组合:
1.逻辑与(and)
多个模式之间默认以“与(and)”进行逻辑组合
2.逻辑或(or)
当勾选了“Pattern Matching Rules”中的“Or”,则多个模式之间以“或(or)”进行逻辑组合
3.逻辑非(not)
当勾选了“Pattern Matching Rules”中的“Not”,则将每个模式Not后以“and”或“or”组合假设有模式p1,p2,p3,... ,pn(优先级not > and > or)
1)仅勾选“Not”
则相当于:(not p1) and (not p2) and (not p3) and ... and (not pn)
2)勾选“Not”与“Or”
相当于:(not p1) or (not p2) or (not p3) or ... or (not pn)
END今天的分享就到此结束了,对你有所帮助的话留下小心心哈!
相关文章:
JMeter:断言之响应断言
一、断言的定义 断言用于验证取样器请求或对应的响应数据是否返回了期望的结果。可以是看成验证测试是否预期的方法。 对于接口测试来说,就是测试Request/Response,断言即可以针对Request进行,也可以针对Response进行。但大部分是对Respons…...
RLHF的替代算法之DPO原理解析:从Zephyr的DPO到Claude的RAILF
前言 本文的成就是一个点顺着一个点而来的,成文过程颇有意思 首先,如上文所说,我司正在做三大LLM项目,其中一个是论文审稿GPT第二版,在模型选型的时候,关注到了Mistral 7B(其背后的公司Mistral AI号称欧洲…...
U盘显示无媒体怎么办?方法很简单
当出现U盘无媒体情况时,您可以在磁盘管理工具中看到一个空白的磁盘框,并且在文件资源管理器中不会显示出来。那么,导致这种问题的原因是什么呢?我们又该怎么解决呢? 导致U盘无媒体的原因是什么? 当您遇到上…...
进销存管理系统如何提高供应链效率?
供应链和进销存系统之间有着密切的联系。进销存系统是供应链管理的一部分,用于跟踪和管理产品的采购、库存和销售。进销存管理是供应链管理的核心流程之一,它有助于提高效率、降低成本、增加盈利,同时确保客户满意度,这对于企业的…...
用AI魔法打败AI魔法
全文均为AI创作。 此为内容创作模板,在发布之前请将不必要的内容删除当前,AI技术的广泛应用为社会公众提供了个性化智能化的信息服务,也给网络诈骗带来可乘之机,如不法分子通过面部替换语音合成等方式制作虚假图像、音频、视频仿…...
Java 中的final:不可变性的魔法之旅
🎏:你只管努力,剩下的交给时间 🏠 :小破站 Java 中的final:不可变性的魔法之旅 前言第一:了解final变量第二:final方法第三:final类第四:final参数第五&#…...
Alfred 5 for mac(最好用的苹果mac效率软件)中文最新版
Alfred 5 Mac是一款非常实用的工具,它可以帮助用户更加高效地使用Mac电脑。用户可以学会使用快捷键、全局搜索、快速启动应用程序、使用系统维护工具、快速复制粘贴文本以及自定义设置等功能,以提高工作效率。 Alfred for Mac 的一些主要功能包括&#…...
常见的Python解释器,你了解多少?
Python,作为一种解释型编程语言,它的运行过程也遵循“程序源码—>解释器(字节码)—>虚拟机(可执行文件)”的流程。 在编写Python程序时,是在扩展名为.py的文件中进行编写,.py…...
在 Python 中使用 Selenium 按文本查找元素
我们将通过示例介绍在Python中使用selenium通过文本查找元素的方法。 在 Python 中使用 Selenium 按文本查找元素 软件测试是检查应用程序是否满足用户需求的技术。 该技术有助于使应用程序成为无错误的应用程序。 软件测试可以手动完成,也可以通过某些软件完成。…...
【Notepad++】搜索返回窗口(find result)被隐藏或遮挡如何恢复?
Notepad 搜索返回窗口被隐藏或遮挡如何恢复 1:F72:F12恢复之后可以多看一些Notepad中快捷键的使用,以备不时之需。 1:F7 打开任意文件,搜索任意内容,按F7,焦点切换到Find result。 按AltSpace,出现小窗口点击"移动…...
应用软件安全编程--05预防 XML 注入
如果用户有能力使用结构化XML 文档作为输入,那么他能够通过在数据字段中插入 XML 标签来 重写这个 XML 文档的内容。 XML 解析器会将这些标签按照正常标签进行解析。下面是一段在线商 店的 XML 代码,主要用于查询后台数据库。 <item)<descri…...
JavaEE-博客系统3(功能设计)
本部分内容为:实现登录功能;强制要求用户登录;实现显示用户信息;退出登录;发布博客 该部分的后端代码如下: Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws Ser…...
椭圆滤波器
之前的文章 信号去噪 中列出了7种常用的信号去噪算法,对于后两种算法——深度学习和奇异值分解(SVD),我现在也不太理解,就先不写了。 很多朋友留言又提了一些算法,今天一起来聊聊椭圆滤波器。 椭圆滤波器(Elliptic F…...
Mac 下安装golang环境
一、下载安装包 安装包下载地址 下载完成,直接继续----->下一步到结束即可安装成功; 安装成功之后,验证一下; go version二、配置环境变量 终端输入vim ~/.zshrc进入配置文件,输入i进行编辑 打开的不管是空文本…...
前端面试大纲
一、CSS 1.说一下CSS的盒模型。 在HTML页面中的所有元素都可以看成是一个盒子 盒子的组成:内容content、内边距padding、边框border、外边距margin 盒模型的类型: 标准盒模型 margin border padding content IE盒模型 margin content(border padd…...
CAN(Controller Area Network)是一种用于在汽车和工业领域中进行通信的串行总线系统(附加案例)
CAN(Controller Area Network)是一种用于在汽车和工业领域中进行通信的串行总线系统。它是一种高可靠性、多主机、多节点通信协议,主要用于实时控制和数据传输。 CAN数据是指在CAN总线上通过CAN协议进行通信传输的数据。CAN总线上的数据被分…...
代码随想录day53|1143.最长公共子序列、 1035.不相交的线、 53. 最大子序和
1143.最长公共子序列 dp[i][j]:长度为[0, i - 1]的字符串text1与长度为[0, j - 1]的字符串text2的最长公共子序列为dp[i][j] 因此是if(nums1[i-1] nums2[j-1]) 1035.不相交的线 和上一题一样 53. 最大子序和 int result dp[0]; 不是0,因为dp[i]有…...
xilinx fpga ddr mig axi
硬件 参考: https://zhuanlan.zhihu.com/p/97491454 https://blog.csdn.net/qq_22222449/article/details/106492469 https://zhuanlan.zhihu.com/p/26327347 https://zhuanlan.zhihu.com/p/582524766 包括野火、正点原子的资料 一片内存是 1Gbit 128MByte 16bit …...
《golang设计模式》第三部分·行为型模式-04-迭代器模式(Iterator)
文章目录 1. 概念1.1 角色1.2 类图 2. 代码示例2.1 需求2.2 代码2.3 类图 1. 概念 迭代器(Iterator)能够在不暴露聚合体内部表示的情况下,向客户端提供遍历聚合元素的方法。 1.1 角色 InterfaceAggregate(抽象聚合)…...
python加上ffmpeg实现音频分割
前言: 这是一个系列的文章,主要是使用python加上ffmpeg来对音视频文件进行处理,包括音频播放、音频格式转换、音频文件分割、视频播放等。 系列文章链接: 链接1: python使用ffmpeg来制作音频格式转换工具(优化版) 链接2:<Python>PyQt5+ffmpeg,简单视频播放器的编写(…...
使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...
【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...
html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...
