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

测试第四课---------性能测试工具

作者前言

🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂
​🎂 作者介绍: 🎂🎂
🎂 🎉🎉🎉🎉🎉🎉🎉 🎂
🎂作者id:老秦包你会, 🎂
简单介绍:🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂
喜欢学习C语言、C++和python等编程语言,是一位爱分享的博主,有兴趣的小可爱可以来互讨 🎂🎂🎂🎂🎂🎂🎂🎂
🎂个人主页::小小页面🎂
🎂gitee页面:秦大大🎂
🎂🎂🎂🎂🎂🎂🎂🎂
🎂 一个爱分享的小博主 欢迎小可爱们前来借鉴🎂


性能测试工具

  • **作者前言**
  • jmeter
  • jmeter基础配置
  • jmeter的使用
  • jmeter线程组界面
  • HTTP请求默认值
  • HTTP信息头管理器
  • json提取器
  • 用户定义的变量
  • Json断言
  • 同步定时器
  • 事务控制器
  • CSV数据⽂件设设置
  • jmeter插件
    • 梯度压测线程组Stepping Thread Group
  • 性能测试报告

jmeter

这是一个性能测试工具,具体的安装过程可以网上寻找,这里就不过多介绍了

jmeter基础配置

第一步找到如下文件
在这里插入图片描述
然后点击修改里面的内容,如图
在这里插入图片描述
可以永远使用jmeter的中文版

jmeter的使用

第一步打开软件
在这里插入图片描述
进入软件后。会看见如下界面:
在这里插入图片描述
第二步右键如下:
在这里插入图片描述

创建一个线程组,然后右键线程组。在“线程组”下添加“HTTP”取样器,如下:
在这里插入图片描述
然后看到如下界面:
在这里插入图片描述

下面我们进行测试一下接口,前面我们写过个人博客测试报告。我们就使用这个登入接口,首先找到对
在这里插入图片描述
在这里插入图片描述

下面我们借助一些postman软件来进行测试,
首先我们输入账号密码区访问这个接口,看看这个接口返回的数据是啥如下:

在这里插入图片描述
在这里插入图片描述

上面的操作,是在输入错误的密码返回的数据,下面我们借助postman来进行:

如下:
在这里插入图片描述
可以看到返回的数据,下面我们使用jmeter来进行操作一下:
在这里插入图片描述

运行之后,会提示我们保存,
在postman 中,我们发送请求就会看到结果,而在jmeter需要我们添加结果树,如下:
在这里插入图片描述

我们点击运行,然后查看对应的结果树 ​结果如下:
在这里插入图片描述

以上就是jmeter的大致使用

jmeter线程组界面

在这里插入图片描述

HTTP请求默认值

创建:
在这里插入图片描述
在请求页面的时候,会发现协议+ip+端口号是不变的,在我们创建多个线程访问该页面时,就需要重新配置,很麻烦,所以我们可以进行修改http请求默认值来减少我们配置信息,
如图:
在这里插入图片描述
这就是配置出来的一个http请求默认值,

HTTP信息头管理器

这个主要就是lmeter的一个配置元件, 里面可以添加对应的请求头的数据。
如图:
在这里插入图片描述

json提取器

在发送请求的时候,往往是需要请求头的,有些请求头的数据是上一个接口返回的数据,而这些数据是改变的,这就需要我们进行提取。
在这里插入图片描述
下面我们进行练习一下:
首先我们需要对选择如下:在这里插入图片描述
然后进行点击对应的登入,查看对应的json数据,可以看出
在这里插入图片描述
然后输入对应的表达式,如图进行查找出对应的数据
在这里插入图片描述

流程:
首先创建出json提取器,分别写入变量名和提取的数据(json表达式)
在这里插入图片描述
这里的提取会在同级目录下的所有返回的json数据去寻找,不单单是只找一部分,但是一些情况就是多个请求返回的数据有相同的,就会把最新的数据覆盖旧的,所以说,我们要提取哪个请求的数据,就把该json提取器放入对应要提取的目录下:如图:
在这里插入图片描述

然后在需要使用的地方引入变量名,写法:

${变量名}

如图:
在这里插入图片描述

用户定义的变量

添加⽅式:线程组—配置元件—⽤⼾定义的变量
在这里插入图片描述
当我们访问到博客列表的时候,会有许多的文章,每个文章对应有各自的id,如果需要访问对应的文章,只需修改id就行,可是如果手动的一个个的修改,很不现实,所以我们可以创建id变量,然后使用就行,

注意:json提取定义的变量不能和用户定义的变量名相同,也不能更改json定义的变量(修改不了)
如图:
在这里插入图片描述

Json断言

接⼝发送请求成功,响应码为200并不能完全代表接⼝请求成功,我们更多需要关注接⼝响应数据是否
符合预期
在这里插入图片描述
配置:

在这里插入图片描述

同步定时器

为了达到并发的效果,需要添加同步定时器
在这里插入图片描述
在没有添加同步定时器时,线程时谁准备好谁开始的,并不是并发,如图:
在这里插入图片描述
当我们设置同步定时器,就有如下:
在这里插入图片描述
注意**,如果设置的等待线程数量大于实际的线程的数量或者实际线程数量不是等待线程数量的整数倍,就会一直等待**
还有一种情况就是准备好的线程数量大于需要等待的线程数量,准备好的线程数量就会全部发出,这种清空也会导致最后一次等待过程,线程数量小于需要等待的线程数量,导致一直等待,
需要我们把循环执行点击上永远,只需循环到最后能执行完为止.

事务控制器

JMeter事务控制器的作⽤主要⽤于测试执⾏嵌套测试元素所花费的总时间。这相当于模拟⽤⼾进⾏⼀系列操作的测试
在这里插入图片描述
注意:若不添加事务控制器,则⼀个接⼝即⼀个事务。
添加了事务控制器后,可以将多个接⼝统⼀放到⼀个事务控制器下作为⼀个事务

使用:
在这里插入图片描述
可以看到把详情页2和博客详情页放在了同一个事务控制器下,变成了一个事务.
然后我们点击聚合报告,
如下:
在这里插入图片描述
一个事务的完成时需要详情页2和博客详情页都完成一次,

CSV数据⽂件设设置

添加⽅式:线程组⸺配置元件⸺CSV数据⽂件设置
在这里插入图片描述
操作:

在这里插入图片描述
读取方式,是一行行读取的,然后我们在登入接口的请求参数设置如下:
在这里插入图片描述
我们创建的csv文件的编码格式一定要和设置的一样,否则是访问不到的

jmeter插件

下载Jmeter插件功能:
https://jmeter-plugins.org/install/Install/
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后重启jmeter,下面点击下载两个插件
在这里插入图片描述
下载这两个插件

在这里插入图片描述

梯度压测线程组Stepping Thread Group

在真实企业压测场景中,我们通常为⼀点⼀点的逐步增加线程数,因此需要安装新的插件来⽀持线程
数的配置
在这里插入图片描述
在这里插入图片描述
This group will start:启动多少个线程,同线程组中的线程数
First, wait for:等待多少秒才开始压测,⼀般默认为0
Then start:⼀开始有多少个线程数,⼀般默认为0
Next,add:下⼀次增加多少个线程数
threads every:当前运⾏多⻓时间后再次启动线程,即每⼀次线程启动完成之后的的持续时间;
using ramp-up:启动线程的时间;若设置为5秒,表⽰每次启动线程都持续5秒
如图:
在这里插入图片描述

thenhold loadfor:线程全部启动完之后持续运⾏多⻓时间
finally,stop/threadsevery:多⻓时间释放多少个线程;若设置为5个和1秒,表⽰持续负载结束之后
每1秒钟释放5个线程

图像意思:
在这里插入图片描述

性能测试报告

JMeter测试报告是⼀个全⾯⽽详细的⽂档,它提供了关于测试执⾏结果的详细信息,帮助⽤⼾全⾯评
估系统的性能并进⾏性能优化

Jmeter -n -t 脚本⽂件 -l ⽇志⽂件 -e -o ⽬录
-n : ⽆图形化运⾏
-t : 被运⾏的脚本
-l : 将运⾏信息写⼊⽇志⽂件,后缀为jtl的⽇志⽂件
-e : ⽣成测试报告
-o : 指定报告输出⽬录

相关文章:

  • gbase8s触发器使用
  • 使用 LangChain + Higress + Elasticsearch 构建 RAG 应用
  • Python 获取淘宝买家订单列表(buyer_order_list)接口的详细指南
  • 【C++】新手入门指南(下)
  • 建造者模式详解及其在自动驾驶场景的应用举例(以C++代码实现)
  • C++(初阶)(十二)——stack和queue
  • container_memory_working_set_bytes` 与 `container_memory_usage_bytes` 的区别
  • C++ 学习指南
  • Redis 处理读请求
  • 安全文件共享实际上是什么样的呢?
  • 解决找不到字体的问题
  • windows搭建xwiki17服务器
  • [Java · 铢积寸累] 数据结构 — 数组类型 - Arrays 工具类详解
  • 稳定PCDN运营效率
  • 【leetcode100】零钱兑换Ⅱ
  • 物联网赋能玻璃制造业:实现设备智能管理与生产协同
  • Ubuntu 上安装 Conda
  • 安装 Conda 环境
  • csv数据的写入
  • SharpMap与TerraLib:C#与C++开源GIS库
  • 打造“朋友圈”,“淘书乐”为旧书找“新朋友”
  • 全球首个AI价值观数据集出炉
  • 护航民营企业出海,上海设37家维权工作站、建立近百人专家团队
  • 大卫·第艾维瑞谈历史学与社会理论②丨马克斯·韦伯与历史学研究
  • 教育部召开全国中小学幼儿园安全工作视频会议:加强校园安防建设
  • 平均25岁,天津茱莉亚管弦乐团进京上演青春版《春之祭》