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

2023-11-17

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

一、响应断言

1. 响应断言是最常用的一种断言方法,它可以对各种返回类型的结果进行断言,比如Test、html、application/json等
2. 在需要进行断言的Sample,点击右键》添加》断言》响应断言
在这里插入图片描述
3. Apply to选项默认即可,Main sample only(仅作用于父节点取样器)
在这里插入图片描述
4. 测试字段常用的有响应文本(对响应结果进行断言)、响应头(对响应头文件进行断言)
在这里插入图片描述
5. 模式匹配规则常用有包括(响应结果包括断言的内容),相等(响应结果和断言结果相同)
在这里插入图片描述
6. 测试模式可以添加你需要断言的部分,如果是包括,就可以添加多个
在这里插入图片描述
7. 执行测试,断言通过则显示绿色
在这里插入图片描述
8. 把断言改成响应结果不存在的字段,执行结果,显示红色,断言结果显示系统响应结果不包含“测试断言”字段
在这里插入图片描述
在这里插入图片描述

二、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. 使用完全相等匹配,并且失败时,输出结果到日志,本次把预期结果改错,所以会输出响应结果到错误日志,代码如下:
在这里插入图片描述
在这里插入图片描述

最后: 可以在我的VX公众号:【自动化测试老司机】免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jmeter —— 常用的几种断言方法(基本用法) 的相关文章

  • 酸洗过程是确定性的吗?

    对于特定的输入值 Pickle 是否总是产生相同的输出 我想当腌制具有相同内容但不同插入 删除历史记录的字典时可能会出现问题 我的目标是使用 Pickle 和 SHA1 创建函数参数的 签名 以实现 memoize 我想当腌制具有相同内容但
  • Pandas loc 有条件的替代方案

    我计划提高非 Pandas 开发人员的可读性 我有以下内容workingPython 代码使用 loc new value stackoverflow s query nbc SUGGESTED suggested QUERY query
  • Celery 任务分析

    正如我所看到的top公用事业celery进程消耗大量CPU时间 所以我想介绍一下它 我可以在开发人员机器上手动执行此操作 如下所示 python m cProfile o test date Y m d T prof manage py c
  • 使用 QuantLib 计算带有下限的 FloatingRateBond 的现金流量

    对 QuantLib 非常陌生 所以猜测这是一个菜鸟错误 很高兴了解这个强大的库 所以感谢作者和贡献者 如果没有下限参数 我可以在没有定价器的情况下为 FloatingRateBond 生成现金流量金额 所以我不明白为什么包含下限参数需要定
  • 如何在 python 3.x 中使用 string.replace()

    The string replace 在 python 3 x 上已弃用 这样做的新方法是什么 与 2 x 一样 使用str replace https docs python org library stdtypes html str r
  • 用于将 cython 中的许多 C++ 类包装到单个共享对象的项目结构

    我在文档 邮件列表和这个问题在这里 https stackoverflow com questions 10300660 cython and distutils 但我想得到一个更直接的答案来解决我的具体情况 我正在通过尝试一点一点地包装我
  • 无法“安装”plpython3u - postgresql

    我正在尝试在 postgresql 中使用 python 语言 像这样的事情 create or replace function test a integer returns integer as if a 2 0 return even
  • SQLAlchemy 通过关联对象声明式多对多自连接

    我有一个用户表和一个朋友表 它将用户映射到其他用户 因为每个用户可以有很多朋友 这个关系显然是对称的 如果用户A是用户B的朋友 那么用户B也是用户A的朋友 我只存储这个关系一次 除了两个用户 ID 之外 Friends 表还有其他字段 因此
  • 将 saxon 与 python 结合使用

    我需要使用 python 处理 XSLT 目前我正在使用仅支持 XSLT 1 的 lxml 现在我需要处理 XSLT 2 有没有办法将 saxon XSLT 处理器与 python 一起使用 有两种可能的方法 设置一个 HTTP 服务 接受
  • 如何在flask中使用g.user全局

    据我了解 Flask 中的 g 变量 它应该为我提供一个全局位置来存储数据 例如登录后保存当前用户 它是否正确 我希望我的导航在登录后在整个网站上显示我的用户名 我的观点包含 from Flask import g among other
  • 为 Anaconda Python 安装 psycopg2

    我有 Anaconda Python 3 4 但是每当我运行旧代码时 我都会通过输入 source activate python2 切换到 Anaconda Python 2 7 我的问题是我为 Anaconda Python 3 4 安
  • Django:按钮链接

    我是一名 Django 新手用户 尝试创建一个按钮 单击该按钮会链接到我网站中的另一个页面 我尝试了一些不同的例子 但似乎没有一个对我有用 举个例子 为什么这不起作用
  • 使用 matplotlib 绘制时间序列数据并仅在年初显示年份

    rcParams date autoformatter month b n Y 我正在使用 matpltolib 来绘制时间序列 如果我按上述方式设置 rcParams 则生成的图会在每个刻度处标记月份名称和年份 我怎样才能将其设置为仅在每
  • 如何在 Python 中检索 for 循环中的剩余项目?

    我有一个简单的 for 循环迭代项目列表 在某些时候 我知道它会破裂 我该如何退回剩余的物品 for i in a b c d e f g try some func i except return remaining items if s
  • 如何使用 Ansible playbook 中的 service_facts 模块检查服务是否存在且未安装在服务器中?

    我用过service facts检查服务是否正在运行并启用 在某些服务器中 未安装特定的软件包 现在 我如何知道这个特定的软件包没有安装在该特定的服务器上service facts module 在 Ansible 剧本中 它显示以下错误
  • 测试 python Counter 是否包含在另一个 Counter 中

    如何测试是否是pythonCounter https docs python org 2 library collections html collections Counter is 包含在另一个中使用以下定义 柜台a包含在计数器中b当且
  • Python 函数可以从作用域之外赋予新属性吗?

    我不知道你可以这样做 def tom print tom s locals locals def dick z print z name z name z guest Harry print z guest z guest print di
  • AWS EMR Spark Python 日志记录

    我正在 AWS EMR 上运行一个非常简单的 Spark 作业 但似乎无法从我的脚本中获取任何日志输出 我尝试过打印到 stderr from pyspark import SparkContext import sys if name m
  • 如何在Python中获取葡萄牙语字符?

    我正在研究葡萄牙语 角色看起来很奇怪 我怎样才能解决这个问题 代码 import feedparser import random Vou definir os feeds feeds conf feedurl http pplware s
  • 如何在ipywidget按钮中显示全文?

    我正在创建一个ipywidget带有一些文本的按钮 但按钮中未显示全文 我使用的代码如下 import ipywidgets as widgets from IPython display import display button wid

随机推荐

  • 02

    1 克隆镜像 前提 centos 7 选择 管理 gt 克隆 选择 下一步 选择 虚拟机中的当前状态 选择 创建完整克隆 设置 虚拟机名称 和 位置 克隆完成界面 2 导入镜像 打开虚拟机 选择对应的克隆文件 导入后的结果 3 网络设置 3
  • 铨顺宏RFID:根据UWB技术性的矿山开采人员精准定位系统

    计划方案环境及总体目标 伴随着智能技术的持续发展趋势 矿山开采生产模式不断创新 翠绿色 绿色生态 智能化慢慢变成煤业的追求完美 煤业智能化系统 智能化针对矿山开采而言十分关键 不但可以产生生产量的提升 还能够协助减少资金投入和产品成本 提高
  • 科技云报道:震惊!4K、8K画质背后,竟然少不了AI的助力

    科技云报道原创 对于视频的画质 我现在最低只能够接受720P 最好是1080p 早五年前 身边就已经有人提出了这样的要求 随着科技的进步 我们进入了一个视频内容快速增长的时代 从社交媒体到在线教育 从直播购物到虚拟会议 视频正逐渐成为主流的
  • Jiu Yuan Wants to Eat【2018焦作网络赛】【树链剖分】

    题目链接 树链剖分学习笔记 可以看这里 这道题还真挺好的 以前不会做 现在想了发现 学过树链剖分之后 剩下的部分就是处理去反那块比较的不容易些了 但是想了一下午 现在还是给我敲出来了 我们主要难处理的就是关于求反 那么怎么处理求反 一开始读
  • antd-select下拉框如何同时获取所选值ID和名字属性

    其中传过去的e为 从antd官网可以看到select组件的onchange属性传参 第一个参数为value 第二个参数可为所选中的那一项的所有信息 其中的props属性内有一个children属性 即存储了所选项的名称
  • JWT快速入门及所需依赖

    目录 1 JWT 1 1什么是JWT 1 2JWT的构成 jwt的头部 payload signature 1 3JWT快速入门案例 2Jwt认证 微服务 2 1微服务下统一权限认证 2 2应用认证 3 无状态的JWT令牌如何实现续签功能
  • 蓝桥杯2022年第十三届省赛真题-最优清零方案--java语言

    题目链接 https www dotcpp com oj problem2689 html 一开始没仔细看题目 以为是自然连续数 搞得我还发了篇提问 怪尴尬的 https ask csdn net questions 7913935 spm
  • MongoDB、Elasticsearch分组统计性能比较

    环境参数 CentOS 7 6 虚拟机 4核 8GB Elasticsearch 5 6 16 MongoDB 5 0 9 数据结构 userId rkyao searchId 6e1c409ed7484a6a8a795e750bef9e2
  • 空间向量及值插值相关函数

    1 两个向量之间插值 float3 slerpBetweenVector float3 from float3 to float delta quatf model start quatf fromDirectedRotation norm
  • 算法分析与设计编程题 回溯法

    装载问题 题目描述 解题代码 递归回溯 goods i 表示货物i的重量 c1 c2分别表示货船1和货船2的载重量 vector
  • 关于项目报错Error:Cannot build Artifact :war exploded because it is included into a circular depency

    报个这个错的意思 你大概在编译项目的时候 你构建项目的时候 你点的是build project 而不是选择rebuild project 导致重复的依赖 这时候找到项目目录中的 idea目录 在进入artifacts文件目录 发现里面有两个
  • siammask_e 安装和使用

    基于siammask e的成绩 验证下demo效果 https paperswithcode com sota visual object tracking on vot2019 p fast visual object tracking
  • 值得拥有的5 款功能强大的免费 PDF 编辑器

    编辑 PDF 文件可能是一个真正的挑战 尤其是当您找不到合适的工具时 此外 如今大多数工具都需要大量订阅 这意味着您必须在口袋里烧一个洞才能对 PDF 文件进行更改 但是等等 这是一个转折点 有一些免费使用的 PDF 编辑器可以帮助您毫无后
  • 微信好友大数据分析

    微信好友数据分析 这里很多工作量 参考了该篇博客 在此致谢 传送门如下 一件有趣的事 我用 Python 爬了爬自己的微信朋友 不过原博客代码不是特别全 有些没有放出来 而且代码都是图片截图 比较模糊 所以我来整理一下我的代码 贴上来 同时
  • 【订阅消息】微信小程序发送服务通知

    前言 由于上次的公众号测试消息推送次数太多被官方认为是推销或者是广告之类的 被微信官方给禁了 然后偶然在一次吃饭的时候扫码点餐下单之后有个弹窗勾选订单完成通知 勾选之后就餐之后就会发送一个服务通知告诉您的订单已完成 其实基于这种消息提醒也是
  • keil5选择ST-Link Debugger时候setting点击不了问题

    分享一个自己用keil5的ST Link Debugger时候遇到的一个问题 就是在我选择用ST Link来进行调试时候 发现setting选择不了 如图所示 弹出来了一个提示我 说无法加载驱动程序 少了一个ST LINKIII KEIL
  • Redis 系列-- SpringBoot中redisTemplate 的操作(一)

    SpringBoot中 集成 redisTemplate 对 Redis 的操作 一 在Java 操作redis 时 有很多工具 redis 官网中 就有很多操作 目前主流开发框架SpringBoot 中 当然也有集成好的操作redis的工
  • 关于浏览器出现ERR_SSL_PROTOCOL_ERROR错误的原因与解决建议

    一 导致ERR SSL PROTOCOL ERROR错误主要有以下几个原因 Invalid System Time 系统时间与网络时间不同步 Firewall blocking the website or IP address Websi
  • 关于yarn安装时报“node“ is incompatible with this module的解决办法

    前提 在用vue写一个h5页面时 当在用yarn安装时 提示如下错误 The engine node is incompatible with this module Expected version 14 18 0 16 14 0 gt
  • Jmeter —— 常用的几种断言方法(基本用法)

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