Jmeter断言、关联、录制脚本

news2025/5/9 16:13:06
  • Jmeter断言

断言:让程序自动判断预期结果实际结果是否一致

提示:

  • Jmeter在请求的返回层面有个自动判断机制(响应状态码 2xx:成功,4xx/5xx:失败)
  • 但是请求成功了,并不代表结果一定正确,因此需要检测机制提高测试准确性。

Jmeter中常用断言

  • 响应断言:对任意格式的响应数据进行断言
  • json断言:对json格式的响应数据进行断言
  • 持续时间断言:对响应时间进行断言
  • 响应断言

作用:对HTTP请求的任意格式的响应结果进行断言
位置:测试计划–>线程组–>HTTP请求–>(右键添加)断言–>响应断言
参数:在这里插入图片描述
在这里插入图片描述

练习:

请求:https://www.baidu.com

检查:让程序检查响应数据中是否包含“百度一下,你就知道“

操作步骤:

1.添加线程组

2.添加HTTP请求
在这里插入图片描述
3.在http请求下添加响应断言在这里插入图片描述
4.添加查看结果树
在这里插入图片描述

小结

(1)什么时候可以使用响应断言?

任意HTTP请求的响应结果,都可以使用响应断言
(2)使用”响应断言“的操作步骤?

  • 添加线程组
  • 添加HTTP请求
  • 添加响应断言
    • 测试字段:要检查的项(实际结果)
    • 模式匹配规则:比较的方式
    • 测试模式:预期结果
  • 添加查看结果树
  • JSON断言

作用:对HTTP请求的JSON格式的响应结果进行断言

位置:测试计划–>线程组–>HTTP请求—>(右键添加)断言—>JSON断言
参数:
在这里插入图片描述

练习:

请求:http://www.weather.com.cn/data/sk/101010100.html

检查:让程序检查响应的JSON数据中,city对应的内容是否为”北京“
步骤:
1.添加线程组
2.添加HTTP请求
在这里插入图片描述

3.在http请求下添加json断言
在这里插入图片描述
4、查看结果树

小结

(1)什么时候可以使用JSON断言?

对HTTP请求的响应结果为JSON格式时,可以使用JSON断言
(2)使用"JSON断言"的操作步骤?

  • 添加线程组
  • 添加HTTP请求
  • 添加JSON断言
    • 填写Assert JSON Path exists(实际结果-json路径)
    • 勾选Addtionally assert value。
    • 填写 Expected Value(预期结果)。
  • 添加查看结果树
  • 断言持续时间

作用:检查HTTP请求的响应时间是否超出要求范围

位置:测试计划–>线程组–>HTTP请求—>(右键添加)断言—>断言持续时间
参数:
在这里插入图片描述

练习:

请求:https://www.jd.com

检查:让程序检查响应时间是否大于100毫秒

操作步骤:

  • 添加线程组
  • 添加HTTP请求
    在这里插入图片描述
  • 添加断言持续时间
    在这里插入图片描述
  • 添加查看结果树
    在这里插入图片描述
    在这里插入图片描述
  • 关联
    关联:当请求之间有依赖关系,比如一个请求的入参是另一个请求返回的数据,这时候就需要用到关联处理。

Jmeter中常用的关联方法

  • 正则表达式提取器:提取任意格式的响应数据
  • Xpath提取器:提取HTML格式的响应数据
  • JSON提取器:提取JSON格式的响应数据
  • 正则表达式介绍

正则表达式:就是一个公式,或者说是一套规则,使用这套规则可以从任意字符串中提取出想要的数据内容。
格式格式:左边界(匹配符号)右边界:可以提取出想要获取的数据内容

  • .:是通配符,可以代表任意字符(除换行回车)
  • *:代表前面的字符出现0次或者多次
  • .* 匹配规则:找到左边界值后,往右查找有边界,找到最后面的右边界,中间的所有数据
    都被记录下来(贪婪匹配)。
    在这里插入图片描述
  • ?:代表非贪婪匹配,找到左边界后,往右查找匹配右边界,只要有匹配的右边界就停止继续
    查找;再次查找左边界和右边界
    在这里插入图片描述
    公式格式:左边界(.*?)右边界
百度一下,你就知道 百度一下,你就知道 (.*?)

案例:
原始文本:
021-1234-1234
022-1234-1235
023-1234-1236
024-1234-1237
025-1234-1238
026-1234-1239
027-1234-1230
要求:匹配出 城市号、地区号、个人号码三组

  • 正则表达式匹配: (.?)-(.?)-(.*?)\n
    在这里插入图片描述
  • 结论:
    • 通过一个正则表达式可以提取出多组数据,每组数据设置对应的左边界和右边界即可
    • 每一组数据都可以有一个或者多个值
  • 正则表达式提取器

作用:针对任意格式的响应数据进行提取

位置:测试计划–>线程组–>HTTP请求–>(右键添加)后置处理器—>正则表达式提取器
参数:
在这里插入图片描述

练习1:
1.请求:http://www.itcast.cn/获取网页的title

2.请求:https://www.baidu.com/ 把获取到title作为请求参数

操作步骤:

  • 添加线程组
  • 添加HTTP请求- itcast
    在这里插入图片描述
  • 添加正则表达式提取器
    在这里插入图片描述
  • 添加HTTP请求-baidu
    在这里插入图片描述
  • 添加查看结果树
    在这里插入图片描述

小结

(1)什么时候可以使用正则表达式提取器?

任意格式的响应数据,都可以使用正则表达式提取器进行提取
(2)使用”正则表达式提取器“的操作步骤?

  • 添加线程组

  • 添加HTTP请求-itcast

  • 添加正则表达式提取器

    • 引用名称:存放提取出的值的参数名称,如填写title
    • 正则表达式:左边界(.*?)右边界
    • 模板:用$ $引用起来,表示解析出第几个()的值
    • 匹配数字:1代表取第一个值,-1代表全部取值
  • 添加HTTP请求-百度

  • 引用正则表达式中的引用名称,如:用${title}引用

  • 添加查看结果树

  • 练习2:获取黑马首页的地址(https://www.itheima.com),把第五个校区地址作为参数传递(span为地址的校区)
    -响应中的地址格式显示:<p><span>地址:</span>湖北省武汉市长江新城区青龙路传智教育科创园</p>

方法1:

  • 添加线程组
  • 添加HTTP请求-heima
    在这里插入图片描述
  • 添加正则表达式提取器-—获取第5个地址
    在这里插入图片描述
  • 添加HTTP请求-baidu
    在这里插入图片描述
  • 查看结果树
    在这里插入图片描述

方法2:

  • 添加线程组

  • 添加HTTP请求-heima

  • 添加正则表达式——获取所有匹配的地址数据
    在这里插入图片描述

  • 添加DebugSample
    在这里插入图片描述

  • 添加HTTP请求-百度,引用第5个地址信息,格式:${变量名_索引},索引从1开始
    在这里插入图片描述

  • 添加查看结果树

练习3:获取黑马首页的地址,把第5个校区地址作为参数传递(span为地址/后面带一、二、三)

地址格式1<p><span>地址一</span>昌平区建材城西路金燕龙办公楼一层</p>
地址格式2<p><span>地址</span>上海市浦东新区航头镇航都路18号万香创新港</p>

步骤:

  • 添加线程组
  • 添加HTTP请求-heima
  • 添加正则表达式提取器-地址信息
    在这里插入图片描述
  • 添加HTTP请求-百度
    在这里插入图片描述
  • 查看结果树
  • xpath提取器
    在这里插入图片描述

作用:针对HTML格式的响应结果进行提取

位置:添加方式:测试计划–>线程组–>HTTP请求–>(右键添加)后置处理器–>xPath提取器

参数:
在这里插入图片描述

练习:

1.请求:http://www.itcast.cn/,获取网页的title值

2.请求:https://www.baidu.com/,把获取到的title作为请求参数

操作步骤:

1.添加线程组

2.添加HTTP请求-itcast
在这里插入图片描述

3.添加Xpath提取器
在这里插入图片描述
4.添加HTTP请求-百度
在这里插入图片描述
5.添加查看结果树

小结

小结

(1)什么时候可以使用XPATH提取器?

针对HTML格式的响应数据,可以使用XPATH提取器进行提取
(2)使用"Xpath提取器"的操作步骤?

  • 添加线程组

  • 添加HTTP请求-itcast

  • 添加Xpath提取器

    • 勾选use Tidy(tolernat parser)
    • 引用名称:存放提取出的值的参数名称。如:填写title
    • Xpath Query:用于提取值的Xpath表达式
    • 匹配数字:0:表示随机,-1:表示提取所有,1表示第一个值
  • 添加HTTP请求-baidu

    • 引用正则表达式中的引用名称。如:用${title}引用它。
  • 添加查看结果树

  • JSON提取器

作用:针对JSON格式的响应结果进行数据提取

位置:添加方式:测试计划–>线程组–>HTTP请求–>(右键添加)后置处理器–>JSON提取器

参数:

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

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

相关文章

SpringBoot速成(12)文章分类P15-P20

1.新增文章分类 1.Postman登录不上&#xff0c;可以从头registe->login一个新的成员:注意&#xff0c;跳转多个url时&#xff0c;post/get/patch记得修改成controller类中对应方法上写的 2.postman运行成功&#xff1a; 但表中不更新&#xff1a;细节有问题&#xff1a; c是…

RedHat8安装postgresql15和 postgis3.4.4记录及遇到的问题总结

安装包对照版本参考 UsersWikiPostgreSQLPostGIS – PostGIS 如果Red Hat系统上有旧版本的PostgreSQL需要卸载 在较新的Red Hat版本&#xff0c;使用dnf包管理器卸载&#xff1a;sudo dnf remove postgresql-server postgresql 旧版本&#xff0c;使用yum包管理器卸载 sudo y…

深入解析计算机网络请求头:常见类型与安全性影响

目录 1. Host 2. User-Agent 3. Cookie 4. Referer&#xff08;或 Referrer&#xff09; 5. Authorization 6. Content-Type 7. Content-Length 8. Origin 9. X-Forwarded-For (XFF) 10. Upgrade-Insecure-Requests 11. X-Frame-Options 12. Cache-Control 13. Ac…

VisoMaster整合包及汉化

VisoMaster是个图片及视频换脸工具&#xff0c;速度快&#xff0c;性能十分强大。 VisoMaster安装有2种方式&#xff0c;根据官网指引安装也十分简单&#xff0c;在此就不重复&#xff0c;只说说安装过程中要注意的事项&#xff1a; 1、自动安装&#xff1a;需要在网络十分畅…

从安装软件到flask框架搭建可视化大屏(二)——创建一个flask页面,搭建可视化大屏,零基础也可以学会

附录&#xff1a;所有文件的完整代码 models.py # models/models.py from flask_sqlalchemy import SQLAlchemydb SQLAlchemy()class User(db.Model):__tablename__ user # 显式指定表名为 userid db.Column(db.Integer, primary_keyTrue)username db.Column(db.String(…

[JVM篇]垃圾回收器

垃圾回收器 Serial Seral Old PartNew CMS(Concurrent Mark Sweep) Parallel Scavenge Parallel Old G1 ZGC

DeepSeek专题:DeepSeek-V1核心知识点速览

AIGCmagic社区知识星球是国内首个以AIGC全栈技术与商业变现为主线的学习交流平台&#xff0c;涉及AI绘画、AI视频、大模型、AI多模态、数字人以及全行业AIGC赋能等100应用方向。星球内部包含海量学习资源、专业问答、前沿资讯、内推招聘、AI课程、AIGC模型、AIGC数据集和源码等…

SpringBoot+shardingsphere实现按月分表功能

SpringBootshardingsphere实现按月分表功能 文章目录 前言 ShardingSphere 是一套开源的分布式数据库中间件解决方案&#xff0c;旨在简化数据库分片、读写分离、分布式事务等复杂场景的管理。它由 Apache 软件基金会支持&#xff0c;广泛应用于需要处理大规模数据的系统中 一…

教程 | 从零部署到业务融合:DeepSeek R1 私有化部署实战指南

文章目录 1. 什么是 DeepSeek R1&#xff1f;a. 主要介绍a. 版本区别 2. 部署资源要求a. 硬件资源要求 3. 本地安装DeepSeek-R1a. 为什么选择本地部署&#xff1f;b. 部署工具对比c. 演示环境配置d. Ollama安装流程 4. 可视化工具a. 工具对比b. Open-WebUI部署 5. AI API应用a.…

分布式 NewSQL 数据库(TiDB)

TiDB 是一个分布式 NewSQL 数据库。它支持水平弹性扩展、ACID 事务、标准 SQL、MySQL 语法和 MySQL 协议&#xff0c;具有数据强一致的高可用特性&#xff0c;是一个不仅适合 OLTP 场景还适合 OLAP 场景的混合数据库。 TiDB是 PingCAP公司自主设计、研发的开源分布式关系型数据…

C语言-章节 1:变量与数据类型 ——「未初始化的诅咒」

在那神秘且广袤无垠的「比特大陆」上&#xff0c;阳光奋力地穿过「内存森林」中错综复杂的代码枝叶缝隙&#xff0c;洒下一片片斑驳陆离、如梦似幻的光影。林间的空气里&#xff0c;弥漫着一股浓郁的十六进制锈蚀味&#xff0c;仿佛在诉说着这片森林中隐藏的古老秘密。 一位零基…

HTML的入门

一、HTML HTML&#xff08;HyperText Markup Language&#xff0c;超文本标记语言&#xff09;是一种用来告知浏览器如何组织页面的标记语言。 超文本&#xff1a;就是超越了文本&#xff1b;HTML不仅仅可以用来显示文本(字符串、数字之类)&#xff0c;还可以显示视频、音频等…

闭源大语言模型的怎么增强:提示工程 检索增强生成 智能体

闭源大语言模型的怎么增强 提示工程 检索增强生成 智能体 核心原理 提示工程:通过设计和优化提示词,引导大语言模型进行上下文学习和分解式思考,激发模型自身的思维和推理能力,使模型更好地理解和生成文本,增强其泛用性和解决问题的能力。检索增强生成:结合检索的准确…

【图像加密解密】空间混沌序列的图像加密解密算法复现(含相关性检验)【Matlab完整源码 2期】

1、说明 本文给出详细完整代码、完整的实验报告和PPT。 环境&#xff1a;MATLAB2019a 复现文献&#xff1a;[1]孙福艳,吕宗旺.Digital image encryption with chaotic map lattices[J].Chinese Physics B,2011,20(04):136-142. 2、部分报告内容 3 部分源码与运行步骤 3.1 部…

QxOrm生成json

下载Qxorm-1.5版本 使用vs打开项目&#xff0c;直接生成即可&#xff1a; lib目录中会生成dll和lib文件 新建Qt项目使用Qxorm: 将QxOrm中上面三个目录拷贝到新建的Qt项目中 pro文件添加使用QxOrm第三方库 INCLUDEPATH $$PWD/include/ LIBS -L"$$PWD/lib" LIBS…

ASP.NET Core Web应用(.NET9.0)读取数据库表记录并显示到页面

1.创建ASP.NET Core Web应用 选择.NET9.0框架 安装SqlClient依赖包 2.实现数据库记录读取: 引用数据库操作类命名空间 创建查询记录结构类 查询数据并返回数据集合 3.前端遍历数据并动态生成表格显示 生成结果:

uniapp商城之首页模块

文章目录 前言一、自定义导航栏1.静态结构2.修改页面配置3.组件安全区适配二、通用轮播组件1. 静态结构组件2.自动导入全局组件3.首页轮播图数据获取三、首页分类1.静态结构2.首页获取分类数据并渲染四、热门推荐1.静态结构2.首页获取推荐数据并渲染3.首页跳转详细推荐页五、猜…

以若依移动端版为基础,实现uniapp的flowable流程管理

1.前言 此代码是若依移动端版为基础&#xff0c;实现flowable流程管理&#xff0c;支持H5、APP和微信小程序三端。其中&#xff0c;APP是在安卓在雷电模拟器环境下完成的&#xff0c;其他环境未测试&#xff0c;此文章中所提及的APP均指上述环境。移动端是需要配合若依前后端分…

C++:高度平衡二叉搜索树(AVLTree) [数据结构]

目录 一、AVL树 二、AVL树的理解 1.AVL树节点的定义 2.AVL树的插入 2.1更新平衡因子 3.AVL树的旋转 三、AVL的检查 四、完整代码实现 一、AVL树 AVL树是什么&#xff1f;我们对 map / multimap / set / multiset 进行了简单的介绍&#xff0c;可以发现&#xff0c;这几…

2D 游戏艺术、动画和光照

原文&#xff1a;https://unity.com/resources/2d-game-art-animation-lighting-for-artists-ebook 笔记 用Tilemap瓷砖大小为1单元&#xff0c;人物大小在0.5~2单元 PPU &#xff1a;单位像素 pixels per unit 2160 4K分辨率/ 正交相机size*2 完整屏幕显示像素点 有骨骼动…