【JMeter接口测试工具】第二节.JMeter基本功能介绍(中)【入门篇】

文章目录

  • 前言
  • 四、信息头管理器
  • 五、Jmeter参数化
  •       5.1 用户自定义的变量
  •       5.2 csv批量添加
  •       5.3 用户参数
  •       5.4 随机数函数
  •       5.5 计数器函数
  •       5.6 时间函数
  • 六、Jmeter断言
  •       6.0 断言介绍
  •       6.1 响应断言
  •       6.2 大小断言
  •       6.3 持续时间断言
  •       6.4 Json断言
  • 七、Jmeter直连数据库
  • 总结


前言


四、信息头管理器

作用:

新增修改实现时提交的数据是 JSON 格式的,需声明提交的数据的内容类型。
即:只要提交数据是JSON格式,就需要创建信息头管理器。

创建步骤:

测试计划--添加配置元件--信息头管理器

图示说明:

注意:只要前面有🔧一样标志的一般都放到最上面


举实例说明:

我们通过测试学院-新增接口,来使用信息头管理器来提交的数据是 JSON 格式的http请求。

(1)创建信息头管理器,输入名称和值(固定的)。

名称:Content-type         值:application/json;charset=utf-8


(2)在http请求中提交JSON格式的数据。

(3)查看结果树


五、Jmeter参数化

(1)定义:使用不同的测试数据,调用相同的测试方法进行测试

(2)本质:实现测试数据与测试方法的分离

(3)实现方式:

  • 用户定义的变量——全局变量
  • 用户参数——为每个用户分配不同的参数值
  • CSV数据文件设置——文件方式参数化
  • 函数——随机数据
  • 数据库

5.1 用户自定义的变量

(1)使用场景定义全局变量

(2)使用步骤

  1. 添加线程组
  2. 添加配置原件--添加用户定义的变量。格式:变量名 - 变量值
  3. 添加HTTP请求,引用定义的变量名。格式:${变量名}
  4. 查看结果树

(3)图示说明:


(4)举例说明:

定义一个用户自定义一个HTTP请求中路径的变量,并且在HTTP请求中引用自定义的代表路径的变量。

图示步骤说明:

(1)定义HTTP请求中路径的变量。

(2)在http请求中引用该路径变量

(3)查看结果树:


5.2 csv批量添加

CSV 逗号分隔值,是一种简洁且常见的数据存储格式
实现步骤:
1、使用 CSV 文件存储测试数据。
2、编写被复用的学院新增脚本模板
注意2: 编码集使用 UTF-8 无 BOM 格式
3、编辑设置csv文件属性
注意:把线程组中的循环次数设置为永远。(方便知道文件中有多少条数据,不用自己数)

实例说明:

使用csv文件进行存储测试数据,然后设置csv数据文件,最后以${变量名}的方式传入http请求当中,将线程组循环次数设置为永远,最后修改csv文件属性。

(1)使用 CSV 文件存储测试数据:

(注意需要用英文逗号分隔开变量名)


(2)创建csv数据文件格式,并且修改其属性。

1.创建csv数据文件。

2.修改其属性参数。

3.http请求中调用变量。

4.查看结果树


5.3 用户参数

实现步骤:
1、编写被复用的学院新增脚本模板
2、使用 用户参数存储测试数据
3、将数据导入脚本模板
4、设置执行次数

实例说明:

学院新增脚本模板设置用户参数。
步骤1:创建用户参数模块

步骤2:设置用户参数信息。

注意:

数据设计规则:

第一列声明每条数据的字段名称,第二列以及以后,每一列对应一条数据。


步骤3:将数据导入http脚本模板(以${变量名}方式)


步骤4:设置执行次数


5.4 随机数函数

函数使用步骤:

1.打开函数助手

2.选择所需函数

3.为函数传参

4.生成并复制调用格式

5.函数运行结果预览

图示说明:


随机数函数使用:

__Random 随机数函数
参数1:取值范围最小值(包含)
参数2:取值范围最大值(包含)

举实例说明:

放到http请求名称后面用于设计随机数排序http请求。

(1)设置函数配置:


(2)添加在请求后面:


5.5 计数器函数

计数器函数使用:

__counter计数器函数

TRUE(每个用户都有自己的计数器)

FALSE(所有用户共用一个计数器)

举实例说明:

(1)TRUE(每个用户都有自己的计数器)

(2)FALSE(所有用户共用一个计数器)


5.6 时间函数

时间函数使用:

__time 时间函数
获取当前时间的函数
无参: 获取的是距离 1970/01/01 00:00:00 的毫秒值
参数1: yyyyMM_dd HH:mm:ss 格式化成 年\月_日 时:分:秒 格式

举实例说明:

(1)函数设置配置:

(2)函数设置配置:


六、Jmeter断言

6.0 断言介绍

(1)断言定义 让程序代替人工判断响应结果是否符合预期
(2)分类
  • 响应断言 = 断言状态码和响应体
  • 大小断言 = 判断响应内容的字节长度
  • 断言持续时间 = 判断响应时间

(3)断言步骤:
  • 1、按照之前的实现编写测试脚本
  • 2、为被判断的取样器添加断言组件
  • 3、直接运行查看结果
  • 断言通过: 无提示
  • 断言失败: 给出错误

6.1 响应断言

响应断言 = 断言状态码和响应体


图示说明:

相关配置解析:

响应文本:来自服务器的响应文本,即主体
响应代码:响应的状态码,例如:200
响应信息:响应的信息,例如:OK
响应头:响应头信息
请求头:请求头信息
URL样本:请求URL
文档(文本):响应的整个文档
忽略状态:忽略返回的响应状态码
包括:文本包含指定的正则表达式
匹配:整个文本匹配指定的正则表达式
相等:整个返回结果的文本等于指定的字符串(区分大小写)
字符串:返回结果的文本包含指定的字符串(区分大小写)
否:取反
或者:如果存在多个测试模式,勾选代表逻辑或,不勾选代表逻辑与
测试模式:即填写你指定的结果(可填写多个)


举实例说明:

判断http请求中的状态码是否为200.


6.2 大小断言

大小断言 = 判断响应内容的字节长度


图示说明:


6.3 持续时间断言

(1)作用:

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

(2)使用步骤:

添加线程组->添加HTTP请求->添加断言持续时间设置持续时间->添加查看结果树.


图示说明:


6.4 Json断言

(1)使用场景:

HTTP请求的响应结果为JSON格式时,可以使用JSON断言

(2)使用步骤:

添加线程组->添加HTTP请求->添加JSON断言配置参数->添加查看结果树查看断言结果


图示说明:

相关配置解析:

  • Assert JSON Path exists:用于断言的JSON元素的路径(实际结果)
  • Additionally assert value:如果您想要用某个值生成断言,请选择复选框
  • Match as regular expression:使用正则表达式断言
  • Expected Value: 期望值(期望结果)
  • Expect null:如果希望为空,请选择复选框
  • Invert assertion (will fail if above conditionsmet):反转断言(如果满足以上条件则失败)

七、Jmeter直连数据库

(1)直连数据库的作用:

  • 用作请求的参数化。例如:登录时需要的用户名可以从数据库中查询获取
  • 用作结果的断言。例如:添加购物车下单时,检查接口返回的订单号,是否与数据库中生成的订单号一致
  • 清理垃圾数据。例如:添加商品(商品名/编号等不能重复),再执行该脚本不能成功,需要在下次执行前删除该商品数据
  • 准备测试数据。例如:通过数据库来准备大量的性能测试数据

(2)直连数据库的步骤:

步骤一.添加Mysql驱动jar包


步骤二.配置数据库连接信息

添加步骤:测试计划->线程组->配置元件->JDBC Connection Configuration


步骤三.添加JDBC请求

步骤方法:

测试计划->线程组->取样器->JDBC Request

总结

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

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

相关文章

【人工智能】第三部分:ChatGPT的应用场景和挑战

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…

vue3+ts 拖拽容器边缘,改变容器宽度和高度

例如:我们的代码编辑器 终端与代码区,可以纵向拖拽,改变两个容器高度 目录与代码区可以横向拖拽,改变两个容器宽度 本文使用vue3tstailwindcss,把横向纵向整合在一起写了,也可以分开使用 utils目录下新建…

【C++课程学习】:C++入门(函数重载)

🎁个人主页:我们的五年 🔍系列专栏:C课程学习 🎉欢迎大家点赞👍评论📝收藏⭐文章 目录 🌈函数重载: 🍉1.参数个数不同: 🍉2.参数…

语音深度鉴伪识别项目实战:基于深度学习的语音深度鉴伪识别算法模型(二)音频数据预处理及去噪算法+Python源码应用

前言 深度学习技术在当今技术市场上面尚有余力和开发空间的,主流落地领域主要有:视觉,听觉,AIGC这三大板块。 目前视觉板块的框架和主流技术在我上一篇基于Yolov7-LPRNet的动态车牌目标识别算法模型已有较为详细的解说。与AIGC相…

Java使用OpenCV计算两张图片相似度

业务:找出两个表的重复的图片。 图片在表里存的是二进制值,存在大量由于一些特殊情况例如扫描有差异,导致图片存的二进制值不同,但图片其实是一样来的。 所以找出两个表重复相同的图片,不可能只是单纯的比较二进制值…

java版B/S架构UWB人员定位系统源码spring boot+vue技术架构uwb定位装置-工业级UWB室内定位系统源码

java版B/S架构UWB人员定位系统源码spring bootvue技术架构uwb定位装置-工业级UWB室内定位系统源码 本套系统运用UWB定位技术,开发的高精度人员定位系统,通过独特的射频处理,配合先进的位置算法,可以有效计算复杂环境下的人员与物…

【MySQL】MySQL 图形化界面 - 使用说明(MySQL Workbench)

一、安装软件 Navicat,SQLyog 这些软件都不错,不过都需要收费,当然也有破解版。下面用 MySQL Workbench,它是官方提供的工具。 二、使用操作 这个软件本质是一个客户端,现在要让数据库能够远程登录。不过一般不会远程…

生活使用英语口语柯桥外语学校成人英语学习

● “自来水”英语怎么说? ● “自来水”的英语表达是:Running water或者Tap water. 例句: There are hot and cold running water in all the bedrooms. 所有的卧室里都有冷热自来水。 ● “热水”英文怎么水? ● 我们不管…

[经验] 羊肺怎么清洗才干净视频 #经验分享#学习方法#其他

羊肺怎么清洗才干净视频 1、羊肺怎么清洗才干净 羊肺是一种营养丰富的食材,含有丰富的蛋白质和维生素,是众多美食菜谱的重要原料之一。但是,由于羊肺的内部结构复杂,清洗起来比较麻烦。那么,如何清洗羊肺才能让它干净…

Excel 交叉表的格转成列,行转成格

Excel里交叉表的左表头是卡车号,上表头是工作,交叉格是工作编号。 ABCD1Truck NumberJob1Job2Job3271592859285928372395859282971473297159282971 要求:将交叉格转为列,左表头转为格。 ABC1297139585928272727137371473715726…

【Python】使用Gradio作为机器学习web服务器

在机器学习领域,模型的展示和验证是一个重要的环节。传统的模型展示方式往往需要复杂的Web开发知识,这对于许多机器学习研究者或数据科学家来说可能是一个挑战。然而,Gradio的出现为我们提供了一个简单而强大的解决方案,让我们能够…

麒麟v10系统arm64架构openssh9.7p1的rpm包

制作openssh 说明 理论上制作的多个rpm在arm64架构(aarch64)都适用 系统信息:4.19.90-17.ky10.aarch64 GNU/Linux 升级前备份好文件/etc/ssh、/etc/pam.d等以及开启telnet 升级后确认正常后关闭telnet 在之前制作过openssh-9.5p1基础上继续…

Python文本处理利器:jieba库全解析

文章目录 Python文本处理利器:jieba库全解析第一部分:背景和功能介绍第二部分:库的概述第三部分:安装方法第四部分:常用库函数介绍1. 精确模式分词2. 全模式分词3. 搜索引擎模式分词4. 添加自定义词典5. 关键词提取 第…

汽车尾气排放污染的解决方案

根据公安部截至2023年底的机动车市场保有量统计,燃油车市场仍有不少消费者拥趸:目前全国新能源汽车保有量仅占汽车总量的6.07%,而其中的纯电动汽车保有量占比仅为76.05%。 汽车尾气排放污染已成为城市主要污染源之一。据统计显示&#xff0c…

代码随想录算法训练营Day17|404.左叶子之和 110.平衡二叉树 222.完全二叉树的节点个数

404.左叶子之和 1、这道题需要统计出所有左叶子结点的值的和,首先要明确左叶子节点指的左右孩子节点均为null的左节点。如上图就是4和6. 2.但是光凭叶子结点本身是无法判定左叶子的,因为左右孩子都是null,所以要从上一层节点往下判定。所以判…

Python下载库

注:本文一律使用windows讲解。 一、使用cmd下载 先用快捷键win R打开"运行"窗口,如下图。 在输入框中输入cmd并按回车Enter或点确定键,随后会出现这个画面: 输入pip install 你想下载的库名,并按回车&…

玩转微服务-GateWay

目录 一. 背景二. API网关1. 概念2. API网关定义3. API网关的四大职能4. API网关分类5. 开源API网关介绍6. 开源网关的选择 三. Spring Cloud Gateway1. 文档地址2. 三个核心概念3. 工作流程4. 运行原理4.1 路由原理4.2 RouteLocator 5. Predicate 断言6. 过滤器 Filter6.1. 过…

基于拓扑漏洞分析的网络安全态势感知模型

漏洞态势分析是指通过获取网络系统中的漏洞信息、拓扑信息、攻击信息等,分析网络资产可能遭受的安全威胁以及预测攻击者利用漏洞可能发动的攻击,构建拓扑漏洞图,展示网络中可能存在的薄弱环节,以此来评估网络安全状态。 在网络安…

立创·天空星开发板-GD32F407VE-EXTI

本文以 立创天空星开发板-GD32F407VET6-青春版 作为学习的板子,记录学习笔记。 立创天空星开发板-GD32F407VE-EXTI 中断硬件触发中断示例软件触发中断示例 中断 中断分为内部中断和外部中断 外部中断是由外部设备(如按键、传感器、通信接口等&#xff09…

ES启动失败原因记录

一、JDK不兼容: es和jdk是一个强依赖的关系,所以当我们在新版本的ElasticSearch压缩包中包含有自带的jdk,但是当我们的Linux中已经安装了jdk之后,就会发现启动es的时候优先去找的是Linux中已经装好的jdk,此时如果jdk的…