Jmeter接口测试之常用断言

news/2024/4/15 5:48:27/文章来源:https://blog.csdn.net/nhb687096/article/details/136562969

在接口测试中,我们需要检查请求处理结果是否正确。当请求的响应状态码为200,是否表时接口功能正常呢?显然是不正确的。

响应状态为200,只能表明服务处理了你的请求,同时进行了结果返回;但并不能代表处理的结果符合接口功能要求。

此时只有进一步的检查“响应数据”是否与接口说明中的一致;才能断定结果是否正确。

Jmeter提供了一个断言元件,实现检查接口测试中的响应数据是否符合预期,确保接口测试与预期的一致性。

注:本篇内容以“Jmeter快速创建接口测试脚本”请求为例。

1、响应断言

适用于:判断返回内容与预期结果的比对

步骤:在需要判断的“HTTP”请求接口上,右击“添加”\“断言”\“响应断言”。在这里插入图片描述

在这里插入图片描述
例如,响应文本中含有“南京”,表示请求响应成功。

在“测试模式”中添加“南京”,点击“启动”图标,执行请求,查看结果树。可能到此有朋友感觉奇怪,怎么与未加断言时执行效果一致。

那再修改“响应断言”为“南京我爱你”,再次执行请求。在这里插入图片描述
在这里插入图片描述

这时请求结果为红色表时请求执行结果与预期设置不同,未包括“南京我爱你”字符,证明此条接口用例执行失败。

下面对“响应断言”内容进行详细介绍。

APPly to:

Main sample and sub-samples:作用于主取样器及对应子取样器

Main sample only:仅作用于主取样器

Sub-samples only:仅作用于子取样器

JMeter Variable:作用于jmeter变量(输入框内可输入jmeter的变量名称)

测试字段:响应文本、响应代码、 响应信息、响应头部…

模式匹配规则:包括、 匹配、Equals、字符串、否、或者

测试模式:可以添加/删除需要判断的内容,按钮“添加”、“删除”进行指定内容的管理。

除响应断言外,还有其他断言。

2、大小断言

适用于:判断返回内容的大小。

步骤:在需要判断的“HTTP”请求接口上,右击“添加”\“断言”\“大小断言”。

APPly to:同“响应断言”

Response Size Field to Test(响应字段的测试范围):完整响应、响应头、响应的消息体、响应代码、响应信息。

Size to Assert:断言字节大小

响应字段可以通过查看结果树看到

根据返回响应消息体的大小设置断言值,一般什么大于多少字节,不采用=,因为数据是变化的,大多数会在一定范围内。

3、断言持续时间

适用于:判断请求的响应时间

步骤:在需要判断的“HTTP”请求接口上,右击“添加”\“断言”\“断言持续时间”。

APPly to:同“响应断言”

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_998714.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis常用指令,jedis与持久化

1.redis常用指令 第一个是key的常用指令,第二个是数据库的常用指令 前面的那些指令都是针对某一个数据类型操作的,现在的都是对所有的操作的 1.key常用指令 key应该设计哪些操作 key是一个字符串,通过key获取redis中保存的数据 对于key…

数字人ai直播软件突破AI大模型技术,改变未来科技格局!

数字人AI直播软件在AI大模型技术上的突破,将不可避免地改变未来科技格局。这一突破让人们看到了AI技术的无限可能性,并为未来的科技发展打开了新的大门。 AI大模型技术是近年来人工智能领域的一个热点,它通过构建庞大、复杂的神经网络模型&a…

99.qt qml-单例程序实现

在之前讲过: 58.qt quick-qml系统托盘实现https://nuoqian.blog.csdn.net/article/details/121855993 由于,该示例只是简单讲解了系统托盘实现,并没有实现单例程序,所以多次打开后就会出现多个exe出现的可能,本章出一章QML单例程序实现, 多次打开始终只显示出第一个打开…

Docker-完整项目的部署(保姆级教学)

目录 1 手动部署(白雪版) 1.1 创建网络 1.2 MySQL的部署 1.2.1 准备 1.2.2 部署 1.3 Java项目的部署 1.3.1 准备 1.3.1.1 将Java项目打成jar包 1.3.1.2 编写Dockerfile文件 1.3.2 部署 1.3.2.1 将jar包、Dockerfile文件放在linux同一个文件夹下 1.3.2.2 构建镜像 …

BUUCTF-DASBOOK1

[第一章][1.3.5 案例解析][极客大挑战 2019]Http 1 1.启动靶机 2.查看源代码,发现有链接 3.点击链接,跳转页面有提示,意思是:它并不来自于https:/Sycsecret.buuoj.cn 打开hackbar,如图所示,然后执行 4.得到…

docker搭建dashdot

Dashdot 是一个指标收集工具,用于报告 Kubernetes 集群中的资源使用情况。假设你想要使用 Docker 来搭建 Dashdot,你需要制作或获取一个 Dashdot 的 Docker 镜像,然后可以通过 Docker CLI 命令或者使用 Docker Compose 来配置和运行这个容器。…

TCP包头

TCP包头: 1.序号:发送端发送数据包的编号 2.确认号:已经确认接收到的数据的编号(只有当ACK为1时,确认号才有用) TCP为什么安全可靠: 1.在通信前建立三次握手连接 SYN SYNACK ACK SYN是TCP包头的一个字段 tcp.port 端口号 抓包数据 2.在通信过程中通过序…

数据结构八大算法详解

一、直接插入排序 直接插入排序的核心思想就是:将数组中的所有元素依次跟前面已经排好的元素相比较,如果选择的元素比已排序的元素小,则交换,直到全部元素都比较过。 因此,从上面的描述中我们可以发现,直接…

奖励建模(Reward Modeling)实现人类对智能体的反馈

奖励建模(Reward Modeling)是强化学习中的一个重要概念和技术,它主要用于训练智能体(如AI机器人或大型语言模型)如何更有效地学习和遵循人类期望的行为。在强化学习环境中,智能体通过尝试不同的行为获得环境…

【外汇天眼】外汇投资策略:区间突破交易系统

RangeBreak系统介绍 RangeBreak区间突破交易系统被市场广泛用于日内交易,曾经连续多年在《美国期货杂志》盈利交易系统排行榜中位居前十。 目前该交易系统也仍旧被很多专业机构和个人投资者所推崇。 交易者可根据自己的交易习惯和性格特点进行改进,并不…

深入分析Android运行时环境ART:原理、特点与优化策略

摘要 随着移动互联网的快速发展,智能手机的性能和功能日益强大,其中Android操作系统因其开放性和灵活性而占据主导地位。Android运行时环境(ART)作为执行应用程序代码的关键组件,在系统性能和用户体验方面起着至关重要…

Docker创建nacos容器

1.创建数据库tq_nacos,sql文件可以从 下面地址中下载nacos安装包,解压后获取到sql文件nacos-mysql.sql https://github.com/alibaba/nacos/releases/tag/1.1.4 2.拉取镜像,创建简单容器 docker search nacosdocker pull nacos/nacos-serverdocker run…

Android使用WebView打开内嵌H5网页

Android打开外部网页链接请参考上一篇文章 https://public.blog.csdn.net/article/details/136384559 继上篇,新建assets文章夹,将H5的网页资源放到此文件夹下 把H5的资源文件都拷进来 这个时候,将添加打开本地网页的代码: //打…

3.8 动态规划 背包问题

一.01背包 46. 携带研究材料(第六期模拟笔试) (kamacoder.com) 代码随想录 (programmercarl.com) 携带研究材料: 时间限制:5.000S 空间限制:128MB 题目描述: 小明是一位科学家,他需要参加一场重要的国际科学大会…

friend(c++ 关键字)

定义 C中,friend关键字用于声明友元函数或友元类,它们可以访问类的私有(private)和保护(protected)成员,即使它们不是类的成员。这提供了一种突破数据封装和隐藏的方式,使得某些函数…

[进程间通信]管道通信【初识IPC/模拟匿名管道/模拟进程池】

文章目录 0.认识IPC1.什么是进程间通信?2.IPC的手段3.进程间通信的必要性4.进程间通信的技术背景5.进程间通信的本质理解6.IPC的标准 1.学习管道1.1.管道的认识1.2管道的工作原理1.3管道的特点 2.模拟匿名管道3.模拟进程池3.1task.hpp3.2processpool.cc 0.认识IPC …

AntV L7的pointLayer点图层

本案例使用L7库和Mapbox GL JS创建点数据并加载进地图。 文章目录 1. 引入 CDN 链接2. 引入组件3. 创建地图4. 创建场景5. 创建点数据5.1. 普通 json 数据5.2. geojson 数据 6. 创建点图层6.1. 普通 json 数据6.2. geojson 数据 7. 演示效果8. 代码实现 1. 引入 CDN 链接 <s…

持续集成(CICD)- gogs仓库的部署和使用

文章目录 一、gogs的介绍二、部署gog仓库三、首次启动gogs四、登录五、创建一个非空仓库六、从仓库拉取代码到本地七、把本地编辑的代码上传到仓库 一、gogs的介绍 Gogs作为一个轻量级、易于部署和使用的自托管Git服务&#xff0c;为小型团队和个人开发者提供了一个简单而强大…

985硕的4家大厂实习与校招经历专题分享(part2)

我的个人经历&#xff1a; 985硕士24届毕业生&#xff0c;实验室方向:CV深度学习 就业&#xff1a;工程-java后端 关注大模型相关技术发展 校招offer: 阿里巴巴 字节跳动 等10 研究生期间独立发了一篇二区SCI 实习经历:字节 阿里 京东 B站 &#xff08;只看大厂&#xff0c;面试…