当前位置: 首页 > ops >正文

接口性能测试-工具JMeter的学习

接口登录链接http://111.230.19.204:8080/blog_login.html 

一、JMeter基本使用流程

1、启动Jmeter

2、在“测试计划”下添加线程组

3、在“线程组”下添加“HTTP”取样器

4、填写“HTTP请求”的相关请求数据

5、在“线程组”下添加“查看结果树”监听器

6、点击“启动”按钮运行,查看接口测试结果

JMeter元件作用域:由测试计划的树形结构中的元件父子关系来确定

JMeter元件执行顺序:

取样器(sampler)元件内组件不依赖其他元件就可执行,因此取样器不存在作用问题 元件作用域只对它的子节点有作用,其他作用域默认根据测试计划中树形结构来定;

二、重点组件

1、线程组

添加博客系统线程组,可 禁用 其他线程组

 

2、HTTP取样器

3、查看结果树

绿色表示成功,红色表示失败

统计请求相关的信息

请求:HTTP请求的请求头和请求体的详细信息

响应:HTTP响应的响应头和响应体的详细信息

tips:点击两把刷子这里可以清理历史请求

4、HTTP请求默认值

博客中涉及到的接口协议、IP、端口号全都⼀样,可以单独抽取出来存放在默认值中,其他接口就可以省略不写协议、IP、端口号

5、HTTP信息头管理器

如果没有请求头将无法获取博客列表页

在登录接口这里就多了一个配置

6、JSON提取器

在博客列表中提取有效的blogId

提取第一个

在博客列表页中添加处理器

如何使用这个 blogId

在博客登录页中提取登录凭证

在登录接口中添加JSON提取器

修改信息头管理器

此外由于编辑页面请求时也要指定请求的上传参数,所以需要配置额外的HTTP信息头

7、用户定义的变量

8、JSON断言

接口发送请求成功,响应码为200并不能完全代表接口请求成功,我们更多需要关注接口响应数据是否符合预期
1、添加JSON断言

给登录页面添加JSON断言

9、CSV数据文件设置

①创建csv文件

②CSV 数据文件设置

③修改登录接口

④修改线程组中线程数,使得每次取到的username和password都不⼀样

10、同步定时器

为了达到并发的效果,需要添加同步定时器

如果不想等可以设置超时时间停止等待

11、事务控制器

将登录页和列表页组成一个事务

12、HTTP Cookie管理器

13、安装插件

①先下载插件管理

https://jmeter-plugins.org/install/Install/

将下载好的插件放到jmeter下lib/ext文件夹下

 重新打开jemeter,在右上角就会出现“蝴蝶”,即插件管理

②使用插件管理功能下载需要的插件

下载其他监听器插件

下载线程组插件

下载完成后在线程和监听器中就可以看到新增的元件

Stepping Thread Group

14、常见监听器

聚合报告

从聚合报告可以看到性能测试过程中整体的数据变化

Response Times Over Time

Transactions per Second(TPS)

三、测试报告

http://www.xdnf.cn/news/8596.html

相关文章:

  • UDP和TCP示例程序
  • 【MySQL】第8节|Innodb底层原理与Mysql日志机制深入剖析(一)
  • 从稳定到卓越:服务器部署后的四大核心运维策略
  • IP查询基础介绍
  • 二、ZooKeeper 集群部署搭建
  • 《深入Python:新手易踩的语法雷区与进阶启示》
  • STM32CubeMX的初使用GPIO的端口配置
  • 虚幻基础:AI
  • Baklib内容中台的主要构成是什么?
  • 大般涅槃经卷第三十五
  • windows11 安装 jupyter lab
  • ARM笔记-嵌入式系统基础
  • untiy实现汽车漫游
  • JVM(Java虚拟机)
  • MSP430通用电机控制代码(Motor)设计与实现
  • vue3 发票税率 计算
  • 人工智能杂谈(十二)大模型与小模型的应用场景及未来发展趋势
  • 电子电路:在导电过程中,铜线中的电子为什么不会消失?
  • MySQL 中表的约束 -- 空属性,默认值,主键,自增长,唯一键,外键
  • Python如何赋能自动驾驶地图构建?从点云处理到实时导航
  • 基于51单片机和8X8点阵屏、独立按键的滑动躲闪类小游戏
  • 从0到上线:微服务架构下的全栈开发实战指南
  • VILT模型阅读笔记
  • SSG vs SSR vs ISG 页面渲染策略对比
  • 为什么在设置 model.eval() 之后,pytorch模型的性能会很差?为什么 dropout 影响性能?| 深度学习
  • 第十节第九部分:jdk8新特性:方法引用、特定类型的方法引用、构造器引用(不要求代码编写后同步简化代码,后期偶然发现能用这些知识简化即可)
  • 鸿蒙UI开发——badge角标的使用
  • 从神经生物学到社会心理学:游戏沉迷机制的深度解构
  • Jest入门
  • 利用 XML 外部实体注入(XXE)读取文件和探测内部网络