Jmeter —— 常用的几种断言方法(基本用法)

 

在使用JMeter进行性能测试或者接口自动化测试工作中,经常会用到的一个功能,就是断言,断言相当于检查点,它是用来判断系统返回的响应结果是否正确,以此帮我们判断测试是否通过,本文 主要介绍几种常用的断言:响应断言、JSON断言、BeanShell 断言

一、响应断言

1. 响应断言是最常用的一种断言方法,它可以对各种返回类型的结果进行断言,比如Test、html、application/json等

2. 在需要进行断言的Sample,点击右键》添加》断言》响应断言

3. Apply to选项默认即可,Main sample only(仅作用于父节点取样器)

4. 测试字段常用的有响应文本(对响应结果进行断言)、响应头(对响应头文件进行断言)

5. 模式匹配规则常用有包括(响应结果包括断言的内容),相等(响应结果和断言结果相同)


6. 测试模式可以添加你需要断言的部分,如果是包括,就可以添加多个


7. 执行测试,断言通过则显示绿色


8. 把断言改成响应结果不存在的字段,执行结果,显示红色,断言结果显示系统响应结果不包含“测试断言”字段

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036

二、JSON断言

1. JSON断言也是测试工作中经常用到的一种断言方法,它只能针对响应结果是applicaton/json格式的请求进行断言


2. 在需要进行断言的Sample,点击右键》添加》断言》JSON断言


3. 我们使用json断言,一般是断言某个字段值是否返回的是我们需要的,所以需要写JSON PATH(不会写的看本人另外一篇文章有介绍如何写),下图使用正则模式匹配返回的结果包含40就认为响应结果满足要求,断言配置和响应结果如下所示:


4. 下面展示断言结果为常量时,如何进行断言设置,如下图所示

三、BeanShell断言

1. BeanShell断言支持各种开发语言,本文介绍使用java编写断言,使用BeanShell断言的好处是可以自由发挥,比如当断言失败,提示预期结果、实际结果,或者失败时把结果输出到日志

2. 在需要进行断言的Sample,点击右键》添加》断言》BeanShell断言


3. 如果使用包含匹配,只需要修改预期结果即可,预期结果需要写在双引号之间,中间的双引号需要添加\转义,如下:

 String response = "";
String Str = "{\"errNo\":\"403\"";   //预期结果,需要校验的字段response = prev.getResponseDataAsString();    //获取当前请求响应结果if(response == ""){  Failure = true;  FailureMessage =   "系统无响应,获取不到响应数据!";  //对比数据库内容和响应内容,私用euqals方法判断是否一致  }
else if(response.contains(Str) == false){  //把断言失败置为真   Failure = true;    String Msg = "\n系统返回响应结果与期望结果不一致!请排查是性能问题,还是程序代码问题";       		          FailureMessage = Msg + "\n" + "期望结果:\n" + Str + "\n" + "响应内容: \n" + response +"\n";   }

4. 使用完全相等匹配,并且失败时,输出结果到日志,本次把预期结果改错,所以会输出响应结果到错误日志,代码如下:

String response = "";
String Str = "{\"errNo\":\"401\"";   //预期结果,需要校验的字段response = prev.getResponseDataAsString();    //获取当前请求响应结果if(response == ""){  Failure = true;  FailureMessage =   "系统无响应,获取不到响应数据!";  log.info(FailureMessage);//对比数据库内容和响应内容,私用euqals方法判断是否一致  }
else if(response.equals(Str) == false){  //把断言失败置为真   Failure = true;    String Msg = "\n系统返回响应结果与期望结果不一致!请排查是性能问题,还是程序代码问题";       		          FailureMessage = Msg + "\n" + "期望结果:\n" + Str + "\n" + "响应内容: \n" + response +"\n";   log.info(FailureMessage);}

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
 

在这里插入图片描述

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

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

相关文章

数据结构上机练习——单链表的基本操作、头文件、类定义、main函数、多种链表算法的实现,含注释

文章目录 单链表的基本操作实现1.头文件2.类定义和多种算法的实现2.1创建空表2.2头插法创建n个元素的线性链表2.3一个带头节点的链表存放一组整数,设计一个算法删除值等于x的所有节点。2.4计算线性表中值为偶数的节点个数2.5一个带头节点的单链表heada存放一组整数&…

13个Python必备的知识

Python在编程语言流行指数PYPL中已多次排名第一。 由于其代码可读性和更简单的语法,它被认为是有史以来最简单的语言。 NumPy、Pandas、TensorFlow等各种AI和机器学习库的丰富性,是Python核心需求之一。 如果是数据科学家或 AI/机器学习的初学者&#xf…

【论文记录】Boosting Detection in Crowd Analysis via Underutilized Output Features

Boosting Detection in Crowd Analysis via Underutilized Output Features Abstract Crowd Hat使用一种混合的2D-1D压缩技术进行细化空间特征与获取特定人群信息的空间和数量分布。进一步的,Crowd Hat采用自适应区域的NMS阈值与一个解耦然后对齐的范式来解决基于检…

小程序 navigateBack 携带参数返回的三种方式(详细)

如果觉着主图好看,点个赞,你早晚也会看到这么好看的景色! 第一种方式 getCurrentPages 获取当前页面栈。数组中第一个元素为首页,最后一个元素为当前页面。不要尝试修改页面栈,会导致路由以及页面状态错误。不要在 App.onLaunch 的时候调用 getCurrentPages(),此时 page …

java在mysql中查询内容无法塞入实体类中,报错 all elements are null

目录 一、问题描述二、解决方案 一、问题描述 java项目中整体配置了mysql的驼峰式字段匹配规则。 mybatis.configuration.map-underscore-to-camel-casetrue由于项目需求,需要返回字段为file_id,file_url,并且放入实体类中,实体…

通讯网关软件005——利用CommGate X2OPC实现OPC客户端访问MS SQL服务器

本文推荐利用CommGate X2OPC实现OPC客户端访问MS SQL服务器获取数据。CommGate X2OPC是宁波科安网信开发的网关软件,软件可以登录到网信智汇(http://wangxinzhihui.com)下载。 【案例】如下图所示,上位机通过OPC Client软件来获取MS SQL数据库的数据。 …

three.js——辅助器AxesHelper和轨道控制器OrbitControls的使用

辅助器AxesHelper和轨道控制器OrbitControls的使用 前言效果图1、辅助器AxesHelper:是物体出现辅助的x/y/z轴2、轨道控制器OrbitControls2.1导入OrbitControls文件2.2 使用2.3 如果OrbitControls改变了相机参数,重新调用渲染器渲染三维场景 前言 1、AxesHelper 官网…

阿里云无影电脑:免费体验无影云电脑3个月

阿里云无影云电脑免费领取流程,免费无影云电脑配置为4核8G,可以免费使用3个月,阿里云百科分享阿里云无影云电脑(云桌面)免费申请入口、申请流程及免费使用限制条件说明: 目录 阿里云无影云电脑免费申请入…

2023/9/18 -- C++/QT

作业 完善登录框 点击登录按钮后,判断账号(admin)和密码(123456)是否一致,如果匹配失败,则弹出错误对话框,文本内容“账号密码不匹配,是否重新登录”,给定两…

计算机视觉与深度学习-经典网络解析-ResNet-[北邮鲁鹏]

这里写目录标题 ResNet参考产生背景贡献残差模块残差结构 批归一化ReLU激活函数的初始化方法 网络结构为什么残差网络性能好? ResNet ResNet(Residual Neural Network)是一种深度卷积神经网络模型,由Kaiming He等人在2015年提出。…

【初阶数据结构】树结构与二叉树的基础概念

君兮_的个人主页 勤时当勉励 岁月不待人 C/C 游戏开发 Hello,米娜桑们,这里是君兮_,今天带来数据结构里的重点内容也是在笔试,面试中的常见考点——树与二叉树,其中二叉树又分为很多种,我们先来讲讲基础的内容带大家…

jq弹窗拖动改变宽高

预览效果 <div classtishiMask><div class"tishiEm"><div id"coor"></div><div class"topNew ismove"><span class"ismove">提示</span><p onclick"closeTishi()"></p&…