当前位置: 首页 > news >正文

Jmeter常用断言之响应断言详解

响应断言是最常用的一种断言方法,主要是对响应结果中的文本内容进行断言,比如响应结果是否包含指定的值,或者是否等于指定的值。响应断言可以适用各种返回类型的响应结果,如:Test、html、application/json、application/xml等。

一、断言添加方式

根据需要可在【测试计划】、【线程组】、【线程请求】下添加断言,一般在对应的【线程请求】下添加,如下图所示,即本文所介绍的。
添加路径:【线程请求-点击右键-添加-断言-对应的断言形式】
在这里插入图片描述

二、断言结果查看

2.1.【断言结果】看断言结果

添加路径:【测试计划-点击右键-添加-监听器-断言结果】
在这里插入图片描述
整个测试计划下所有请求所有断言结果报错信息均会在此显示,如下图所示,将所有断言结果的报错信息直接展示出来。
在这里插入图片描述

2.2.【查看结果树】看断言结果

添加路径:【测试计划-点击右键-添加-监听器-查看结果树】,整个测试计划下所有请求所有断言结果报错信息均会在此显示,如下图的形式,切换查看。
在这里插入图片描述

三、响应断言

响应断言界面设置,如下图:
在这里插入图片描述
如上图所示,响应断言分为【Apply to】【测试字段】【模式匹配规则】【测试模式】【自定义失败信息】五个部分。

3.1.Apply to

断言的作用域。
通常使用默认的【Main sample only】(比如给HTTP请求新增断言,选择了Main sample only,那么这个断言的作用域只针对此HTTP请求),没有对其他作用域有过深入的研究。
【Main sample and sub-samples】与【Sub-samples only】这两个作用域的场景是:部分请求一次会触发多个线程。
**【Main sample and sub-samples】**作用于主线程以及子线程,
**【Sub-sample only】**只用作于子线程。
如果选择了【Main sample and sub-samples】,即使主线程成功,子线程失败,那么断言也是以失败做结果。

3.2.测试字段

这个模块,指的是我们使用哪一块的返回信息做断言。
响应文本】指返回的【响应数据】的文本信息response body。
响应代码】指Http响应码,如200、500等。
响应信息】指的是http的【取样器结果】中的response message。
响应头】指http【响应数据】的响应头信息response hearders。
请求头】指http【请求数据】的请求头信息request hearders。
请求数据】指http【请求数据】的请求头信息request body。
URL样本】指断言的当前请求的URL地址,与http【请求数据】的请求头信息request body中的值做对比是否一致。注意:如果有重定向包含重定向url。
文档(文本)】通过Apache Tika从各种的文档中提取的文本进行验证,包括响应文本,pdf、word等等各种格式。
忽略状态(Ignore Status)】 一个请求多项响应断言时,忽略某一项断言的响应结果,而继续下一项断言。
注意:响应文本不等于响应信息。
以上测试字段的断言,可以随便找个接口尝试一下,在下图的结果中查找对应的字段值进行测试。。。
在这里插入图片描述

3.3.模式匹配规则

分为【包括】【匹配】【相等】【字符串】【否】【或者】
包括】响应的结果中包含指定的文本或者字段值,支持正则表达式。
匹配】完全匹配,期望值与实际结果必须完全一致,一般结合正则表达式使用。
相等】完全匹配,响应结果与指定的内容完全一致,不支持正则表达式。
字符串】返回结果,包含指定的字符串,不支持正则表达式。
】合并选择之后,断言结果true为false,false为true。
或者】当有多个断言时,只要有一个断言成功,那么最终结果就是成功的。

3.4.测试模式

断言的内容。如果有多个,按照顺序执行,没有选择【或者】的情况下,所有的断言通过之后,取样器结果才是成功的。

3.5.自定义失败信息

顾名思义,当失败是,可以定义个性化信息。

四、实例演示

请求数据设置2个断言,一个正确的,一个错误的
在这里插入图片描述
查看断言结果:显示有1个失败
在这里插入图片描述
还是上面的设置,如果在【模式匹配规则】处,勾选【或者】,则断言结果就会通过
在这里插入图片描述
断言结果:通过
在这里插入图片描述
还是上面的设置,如果在【模式匹配规则】处,勾选【否】,则断言结果原来失败的会通过,原来通过的会失败,如下图所示:
在这里插入图片描述
直接从【断言结果】处查看,可以看到历史的断言错误日志,比较方便对比
在这里插入图片描述
上面是一个简单的小示例演示【模式匹配】中的字段与【或者】【否】组合的效果,其他字段及模式匹配的断言,大家也可以随便找个接口都试试,挺好玩的。。。

http://www.lryc.cn/news/9168.html

相关文章:

  • 【Python学习笔记】36.Python3 MySQL - mysql-connector 驱动(1)
  • 计算机SCI论文课题设计需要注意什么? - 易智编译EaseEditing
  • Quartz入门教程
  • TypeScript 学习之 function
  • 【云计算自学路线】
  • code01 v2黑屏、花屏、死机、断电重启、休眠死机的进来
  • 分享107个HTML电子商务模板,总有一款适合您
  • Barra模型因子的构建及应用系列三之Momentum因子
  • 8.2.1.3 索引合并优化
  • 水雨情在线小能手-雨量水位报警站
  • 【蓝桥杯集训4】双指针专题(6 / 6)
  • 文件流,gzip解压,压缩
  • 在线开会,来开开圆桌会议吧~
  • 使用营销自动化的 7 大主要优势
  • 【图像分类】基于PyTorch搭建GRU实现MNIST手写数字体识别(单/双向GRU,附完整代码和数据集)
  • day14_oop_抽象_接口
  • 模式识别 | MATLAB实现DNN深度神经网络模式分类识别
  • 【C++】类和对象三大特性--继承
  • MySQL的存储引擎
  • 工程项目管理系统源码-简洁+好用+全面-工程项目管理系统
  • 什么是STAR原则?
  • 前置知识-初值问题、显式隐式龙格库塔方法、Butcher阵列
  • PythonWeb Django PostgreSQL创建Web项目(二)
  • Python学习笔记:使用字符串
  • echarts饼图封装
  • Web3.0 教学基础一
  • body使用渐变色无效的原因之一:html没有设置高度
  • Python3 函数实例及演示
  • HTB打靶(Active Directory 101 Multimaster)
  • 漏洞预警|Apache Sling JCR Base 存在JNDI注入漏洞