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

news2024/10/5 21:20:55

文章目录

  • 前言
  • 四、信息头管理器
  • 五、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

总结

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

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

相关文章

AI炒股:用Kimi获取美股的历史成交价格并画出股价走势图

在Kimi中输入提示词: 你是一个Python编程专家,要完成一个编写Python脚本的任务,具体步骤如下: 用akshare库获取谷歌(股票代码:105.GOOG)、亚马逊(股票代码:105.AMZN )、苹果(股票代码:105.AAP…

内存经验分享

目录 内存统计工具 /proc/meminfo Buddy ​​​​​​​​​​​​​​Slub ​​​​​​​Procrank /proc/pid/smaps ​​​​​​​Dumpsys meminfo 内存评估 内存泄漏 Lmk 水位调整 内存统计工具 /proc/meminfo 可以提供整体内存信息,各字段表示的意思如…

【论文速读】| BIOCODER:一个具有上下文实用知识的生物信息学代码生成基准测试

本次分享论文:BIOCODER: A Benchmark for Bioinformatics Code Generation with Contextual Pragmatic Knowledge 基本信息 原文作者:Xiangru Tang, Bill Qian, Rick Gao, Jiakang Chen, Xinyun Chen, Mark Gerstein 作者单位:耶鲁大学, Go…

Vitis HLS 学习笔记--MAXI位宽拓展

目录 1. 简介 2. 用法解析 2.1 命令语法 2.2 实例展示 3. 注意事项 4. 总结 1. 简介 在 Vitis 工具流程中,Vitis HLS 能够自动将 m_axi 接口端口的大小调整为 512 位,以改善突发访问能力。但是,端口宽度自动调整仅支持标准 C 语言数据…

2024年自然语言处理科学与信息检索技术国际会议(ICNLPSIRT 2024)

2024年自然语言处理科学与信息检索技术国际会议(ICNLPSIRT 2024) 2024 International Conference on Natural Language Processing Science and Information Retrieval Technology (ICNLPSIRT 2024) 会议地点:武汉,中国 网址:http://www.i…

短剧看剧系统投流版系统搭建,前端uni-app

目录 前言: 一、短剧看剧系统常规款短剧系统和投流版的区别? 二、后端体系 1.管理端: 2.代理投流端 三、功能区别 总结: 前言: 23年上半年共上新微短剧481部,相较于2022年全年上新的454部&#xff0…

RE_Python

python的exe文件解包 要确保使用工具的环境是和Python version一样(我这里是需要3.11) 不然,ezpy.exe_extracted文件夹点进去,类似PYZ-00.pyz_extracted的文件夹会是空的!! pyc反编译问题 ImportError:…

AIGC+营销:AI在营销领域的演变与营销人员的新角色

一、AI在营销领域的演变 随着AI技术的不断发展,营销领域也迎来了新的变革。从目前的“AI Copilot”阶段,到未来的“AI Agent”和“AI自主营销团队”阶段,AI的角色将逐渐从辅助人类到独立承担更多职责。 AI Copilot(副驾驶&#…

glm-4v-9b 部署

glm-4v-9b 模型文件地址 GLM-4 仓库文件地址 官方测试 硬件配置和系统要求 官方测试硬件信息: OS: Ubuntu 22.04Memory: 512G…

爱校对繁体字校对上线——让企业文档更精准

在港澳台地区,企业每天都要处理大量繁体字文档,确保文档的准确性和专业性至关重要。爱校对全新推出的繁体字校对服务,专为企业设计,自动检测并修正拼写和语法错误,让您的文档管理更加轻松高效,提升企业形象…

光伏无人机踏勘需要使用哪些设备?用到哪些原理?

随着全球能源结构的转型和绿色能源的大力推广,光伏电站的建设和运维正成为能源领域的热点。然而,光伏电站的选址、建设和后期运维过程中,往往面临着地形复杂、设备分散、巡检难度大等挑战。在这一背景下,无人机踏勘技术以其独特的…

BC8 十六进制转十进制

BC8 十六进制转十进制 废话不多说上题目&#xff1a; 代码如下&#xff1a; #include<stdio.h> int main() {printf("%15d", 0XABCDEF);return 0; }这里总结下C语言的常见语法点&#xff1a; 1&#xff1a;%m.n&#xff0c;m表示整个数值占多少位包括小数点&am…

自养号测评防关联的关键点解析, 确保店铺权重和买家账号的安全稳定

现在很多大卖都是自己管理几百个账号&#xff0c;交给服务商不是特别靠谱。你不知道服务商账号质量怎么样&#xff0c;账号一天下了多少你也不清楚&#xff0c;如果下了很多单万一封号被关联了怎么办&#xff0c;你也不知道服务商用什么卡给你下单&#xff0c;用一些低汇率和黑…

数据结构之初始泛型

找往期文章包括但不限于本期文章中不懂的知识点&#xff1a; 个人主页&#xff1a;我要学编程(ಥ_ಥ)-CSDN博客 所属专栏&#xff1a;数据结构&#xff08;Java版&#xff09; 目录 深入了解包装类 包装类的由来 装箱与拆箱 面试题 泛型 泛型的语法与使用…

【iOS】MRC下的单例模式批量创建单例

单例模式的介绍和ARC下的单例请见这篇&#xff1a;【iOS】单例模式 目录 关闭ARC环境MRC下的单例ARC下的单例批量创建单例Demo 关闭ARC环境 首先关闭ARC环境&#xff0c;即打开MRC&#xff1a; 或是指定某特定目标文件为非ARC环境&#xff1a; 双击某个类文件&#xff0c;指定…

Spring Boot整合WebSocket和Redis实现直播间在线人数统计功能

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…

【PyTorch】PyTorch深度学习框架实战(二):torchrun

一、引言 PyTorch由facebook人工智能研究院研发&#xff0c;2017年1月被提出&#xff0c;是一个开源的Python机器学习库&#xff0c;基于Torch&#xff0c;用于自然语言处理等应用程序。PyTorch既可以看作加入了GPU支持的numpy&#xff0c;同时也可以看成一个拥有自动求导功能的…

【React】vscode 中 React 自动补齐标签设置

1.打开设置 2.搜索 includeLanguages 3. 在Emmet 下&#xff0c;点击“添加项”&#xff0c;添加一项 javascript --> javascriptreact 4. 重启vs code

【SkyWalking】使用PostgreSQL做存储K8s部署

拉取镜像 docker pull apache/skywalking-ui:10.0.1 docker tag apache/skywalking-ui:10.0.1 xxx/xxx/skywalking-ui:10.0.1 docker push xxx/xxx/skywalking-ui:10.0.1docker pull apache/skywalking-oap-server:10.0.1 docker tag apache/skywalking-oap-server:10.0.1 xxx…

第一波因为AI失业的设计师

“学了很多年美术&#xff0c;画功不如AI输入词条几十秒就出的画” 200多年前&#xff0c;摄影技术刚诞生时&#xff0c;画家们也是眼睁睁看着照相机攻城略地&#xff0c;法国著名设计师保罗德拉罗也留下了那句经典的论断&#xff1a;“从今天起&#xff0c;绘画死亡了。”但历…