自动化测试实战篇(9),jmeter常用断言方法,一文搞懂9种测试字段与JSON断言

news2024/11/17 17:27:07

在这里插入图片描述
Jmeter常用的断言主要有,JSON断言和响应断言这两种方式。
断言主要就是帮助帮助人工进行快速接口信息验证避免繁杂的重复的人工去验证数据

  • 第一种响应断言
    • Apply to:表示应用范围
    • 测试字段:针对响应数据进行不同的匹配
      • 响应文本
      • 响应代码
      • 响应信息
      • 响应头
      • 请求头
      • URL样本
      • 文本
      • 忽略状态
      • 请求数据
    • 模式匹配规则
    • 生成断言结果
  • 第二种JSON断言

下面我们就来添加断言

第一种响应断言

添加一个线程组、再添加一个HTTP请求

在这里插入图片描述
在这里插入图片描述
本次测试数据来自航空时刻表的接口需要可以自行使用
航空城市

通过断言就可以判断事务是否匹配成功,以及是否响应成功,如果是不成功就是回报红色错误,出现红色错误就代表失败,这样我们就能够去通过csv去批量验证接口是否能够正常的使用。
在这里插入图片描述

响应断言的名称和注释,这两个都可以随意写

Apply to:表示应用范围

Main sample and sub-samples 表示匹配范围包括父取样器及子取样器
Main sample only 仅匹配父取样器
Sub-samples only 仅匹配子取样器
在这里插入图片描述

测试字段:针对响应数据进行不同的匹配

需要根据察看结果树里面有的信息进行相应的断言才能够成功响应
在这里插入图片描述

响应文本

响应服务器返回的文本内容

在这里插入图片描述

响应代码

匹配响应的状态码,比如100、200、300、400、500这些

在这里插入图片描述

响应信息

匹配响应信息,如果匹配成功就返回成功、或者通过这些

在这里插入图片描述

响应头

匹配响应头中的头信息

常用的响应头如下:

Accept-Patch
指定服务器所支持的文档补丁格式
Accept-Ranges
服务器所支持的内容范围
Content-Disposition
对已知MIME类型资源的描述,浏览器可以根据这个响应头决定是对返回资源的动作,如:将其下载或是打开。
Content-Encoding
响应资源所使用的编码类型。
Content-Language
响就内容所使用的语言
Content-Length
响应消息体的长度,用8进制字节表示
Content-Type
当前内容的MIME类型
Date
此条消息被发送时的日期和时间(以RFC 7231中定义的"HTTP日期"格式来表示)
Expires
指定一个日期/时间,超过该时间则认为此回应已经过期
Server
服务器的名称
在这里插入图片描述

请求头

匹配请求中的头信息
服务器要使用的附加信息,比较重要的信息有 Cookie 、Referer、User-Agent
Accept
​​​​​​​Accept-Language
​​​​​​​Accept-Encoding
​​​​​​​Host
​​​​​​​Cookie
​​​​​​​Referer
​​​​​​​User-Agent
​​​​​​​Content-Type

在这里插入图片描述

URL样本

匹配URL链接

在这里插入图片描述

文本

对文档内容进行匹配

忽略状态

表示一个请求中拥有多个响应,第一个响应成功就进行下一个判定,最后一个判定成功则表示通过

在这里插入图片描述

请求数据

匹配请求数据的信息
在这里插入图片描述

在这里插入图片描述
具体含义可参考这篇文章:
请求头和响应头

模式匹配规则

包括:相应内容匹配成功就代表响应成功,支持正则表达式

匹配:与响应内容完全匹配则代表成功,支持正则表达式

相等:与响应内容相等才代表成功,支持字符串不支持正则

字符串:字符串与相应内容匹配,支持字符串

否:降低匹配敏感度,只要其中有一个即可表示匹配成功

或者:存在多个内容,只要一种一个成功即表示通过

生成断言结果

在这里插入图片描述

第二种JSON断言

JSON断言可以针对返回值为JSON格式进行一个判断
像这种数据类型就是JSON格式
在这里插入图片描述

在这里插入图片描述

Assert Json path exists提取断言内容这里就用简单的正则提取即可,也可以用正则提取之后加一个全局变量赋予给json断言中也可以使用
Match as regular expression勾选后表示支持正则表达式
Expected Value断言内容
Except null断言内容为空
Invert assertion(wiil fail if above condition met)断言内容取反,如果结果为真就显示假,假就显示为真

比如我针对外层的拿code就用$.code这里提取即可,在这里插入图片描述在这里插入图片描述
如果我要获取data中的数据,可以 $.data.
在这里插入图片描述

如果察看结果树出现中文乱码可以看这篇文章:
Jmeter运行后,查看结果树中的响应数据出现中文乱码

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Go自学第一节】GoLang 数据类型

和Java类型,go拥有多种数据类型,可以把它分为四个大类基础类型、聚合类型、引用类型和接口类型 一、基本数据类型 基本数据类型又可以细分为:数字类型(整型、浮点型)、布尔类型、字符串类型 整型 Go 的整型分为有符号…

计算机网络的166个概念你知道几个 第十一部分

计算机网络数据链路层和物理层节点:一般指链路层协议中的设备。链路:一般把沿着通信路径连接相邻节点的通信信道称为链路。MAC 协议:媒体访问控制协议,它规定了帧在链路上传输的规则。奇偶校验位:一种差错检测方式&…

基于gin-vue-admin[gin+gorm]手动实现crud(全)

使用Gin-Vue- Admin框架手动实现crud 在gva框架下自己手动实现一个CRUD的操作,该操作将会结合gen进行探讨学习,具体实现可以看下面代码的实现,项目目录层级分为api层,service层,model层,common层&#xff…

1/4、1/2、整车悬架天棚主动控制仿真分析合集

目录 前言 1. 1/4悬架系统 1.1数学模型 1.2仿真分析 2. 1/2悬架系统 2.1数学模型 2.2仿真分析 3. 整车悬架系统 3.1数学模型 3.2仿真分析 4.总结 参考文献 前言 对于天棚控制相比大家不陌生,它是由美国的Karnopp提出,利用假设的与天棚固连…

【数据结构】链表相关题目(简单版)

🚀write in front🚀 📜所属专栏: 初阶数据结构 🛰️博客主页:睿睿的博客主页 🛰️代码仓库:🎉VS2022_C语言仓库 🎡您的点赞、关注、收藏、评论,是…

软件测试10

Linux和数据库 1.Linux命令:软件测试第一个任务,一般都需要进行环境搭建,一部分环境搭建内容是在服务器上实现的,跟服务器交互需要使用Linux命令。(因为Linux没有图形化页面) 2.数据库:所有的软…

ccf-csp 202112-3登机牌条码

题目背景 西西艾弗岛景色优美,游人如织。但是,由于和外界的交通只能靠渡船,交通的不便严重制约了岛上旅游业的发展。西西艾弗岛管委会经过努力,争取到了一笔投资,建设了一个通用航空机场。在三年紧锣密鼓的主体建设后…

Jetpack Compose 中的动态加载、插件化技术探索

在传统的 Android 开发模式中,由于界面过分依赖于 Activity、Fragment这样的组件,一个业务模块中往往会存在着大量的 Activity 类,因此诞生了很多的插件化框架,这些插件化框架基本都是想方设法的使用各种Hook/反射手段来解决使用未…

c++11auto

autoc11中auto并不代表一种实际的数据类型,它只是一个类型声明的占位符,auto也并不是再所有场景下都能推导出变量的实际类型,使用auto不需要进行初始化,让编译器推导出它的实际类型,再编译阶段将auto占位符替换为真正的…

没有比这更详细的-压测工具Jmeter介绍及使用了

一、压测工具选型 1.1、前言 压力测试是每一个Web应用程序上线之前都需要做的一个测试,他可以帮助我们发现系统中的瓶颈问题,减少发布到生产环境后出问题的几率;预估系统的承载能力,使我们能根据其做出一些应对措施。所以压力测…

【Linux基础篇】一、Linux入门基础命令

一、Linux基础命令 1、Linux的目录结构 /,根目录是最顶级的目录了Linux只有一个顶级目录:/路径描述的层次关系同样适用/来表示/home/itheima/a.txt,表示根目录下的home文件夹内有itheima文件夹,内有a.txt 2、ls命令 功能&#…

数字孪生GIS智慧风场Web3D可视化运维系统

随着国家双碳目标的实施,新能源发电方式逐渐代替了污染大气层的火力发电,其中风力发电相比于光伏发电具有能量密度高、发电小时数长、生命周期达20-25年之久等独特的优势。风能取之不尽、用之不竭,在新型能源互联网下,风力发电有可…

三、GC算法垃圾回收器

文章目录(持续更新中... ...CMS and G1)概述如何判断对象存活引用计数法根可达算法GC算法(垃圾回收算法)分代收集理论标记-清除算法复制算法标记-整理算法垃圾回收器概述Serial收集器Parallel收集器Parallel Old收集器CMS收集器G1收集器常用的收集器组合…

STM32实战项目-串口打印

前言: 本小结主要实现串口打印功能,主要将上一结的状态机运行次数,通过串口在串口终端上打印出来,硬件电路上主要是TTL转USB驱动电路,软件上主要有状态机函数,串口发送函数等调试工具是串口助手。 目录 1…

机器学习学习记录1:假设空间

我们可以把学习过程看作一个在所有假设组成的空间中进行搜索的过程,搜索目标是找到与训练集"匹配" 的假设,即能够将训练集中的瓜判断正确的假设.假设的表示一旦确定,假设空间及其规模大小就确定了.对于西瓜问题,这里我们…

[MySQL索引]2.索引的底层原理(一)

索引的底层原理(一)B-树索引B树索引tips: ​ 通过使用malloc/new来申请4字节的内存,但是操作系统不是说每一次用户申请4字节内存,我就只分配4字节,这样申请次数多了就要涉及频繁的用户态和内核态的切换,开销…

AM5728(AM5708)开发实战之安装Debian 10桌面操作系统

一 环境搭建 准备一个SD卡启动卡,能够正常引导板卡启动,后续会把Debian 10镜像安装到SD卡ext4分区 准备两个U盘,一个格式化成fat32文件系统,另一个格式化成ext4文件系统 下载Debian 10镜像,镜像名字为debian-10.4.0-a…

【前端】一个更底层库React,附教程

Reat是什么?React在UI里最火的也是最好的库,React是一个做UI的库,具体来说是做UI组件的库,专注于做mvc中的v,它是一个更底层的工具库。为你应用的每一个状态设计简洁的视图,当数据变动时 React 能高效更新并…

Linux发行版本与发行版的简单的介绍

Linux linux下有很多发行的版本,或者称之为魔改版本。以下介绍一些常见的版本,以避免名词的混淆。 linux是提供了一个内核,就像是谷歌的内核一样,QQ浏览器就是使用的谷歌的内核,也算是一个发行版本。 Ubuntu&#x…

课程项目简介

一、深度学习模型入门 1&#xff0c;什么是机器学习&#xff1f; Study of algorithms that improve their performance P at some task T with experience E. 研究在某个任务T上用经验E提高其性能P的算法。 well-defined learning task:<P,T,E> 明确的学习任务&#…