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

Jmeter 的使用

目录

线程组

HTTP请求默认值

HTTP信息头管理器

查看结果树

用户定义的变量

CSV数据文件设置

JSON提取器

JSON断言

同步定时器

聚合报告

事务控制器

逐步增压测试

导出测试报告


使用Jmeter来测试已经写好的博客系统

线程组

要进行测试,先添加线程组,并且设置参数:

这里设置线程数为3,相当于有三个用户发起请求:

HTTP请求默认值

由于他们的IP地址和端口号都一样,为了方便在请求之前设置一个请求默认值,将请求要发送给的ip地址和端口号写死:

HTTP信息头管理器

因为后端接口要接受的请求是json字符串格式,所以在http信息头管理器中设置Content-Type:application/json,如果是使用表单数据的话就不需要这个了,直接在参数中填写即可:

在进行除登录页的其他页面功能测试的时候,需要之前的登录信息,这个登录信息放在请求头中的user_token中,所以在http信息头管理中还需要加入token:

这里的token可以从登录页面的响应信息中获取:

还要注意一点:这里的信息头的名称要和我们自己设置的这个token的名称是一样的,如果不确定可以先在开发者工具中找到这个名称直接复制就好了:

查看结果树

为了方便查看请求结果,设置查看结果树:

查看结果树中能看到的信息包括:

用户定义的变量

如果有多个地方需要用到用户名和密码,可以自己定义变量,写在用户自定义变量中:

在使用的时候,需要用${username}才能正确获取到这个username变量中的值,并且在json传中,获取这个变量的时候也需要使用“”将变量名包裹起来:

CSV数据文件设置

如果想要测试多个用户名密码的登录,可以使用CSV文件来进行:

这里需要注意的是csv的文件格式一定要对

JSON提取器

详情页测试需要blogId,这里我们可以使用JSON提取器,提取之前请求的返回值:

注意:这里要进行json提取,就需要让博客列表页有返回值,不然就没办法提取

这里是正则表达式的语法:正则表达式

这里博客列表页返回的数据是这个样子的(本文主要介绍jmeter的使用,这里的乱码无伤大雅):

JSON断言

如果不存在这样的内容,那么就会断言报错:

如果是不匹配也会出现断言报错,并且给出了断言报错的原因:

也可以使用正则表达式来匹配:

同步定时器

虽然前面设置了三个线程,但是通过这个日志可以看出,线程1执行结束后,线程2、3才准备好了。所以他们并不是在同一时间发出的请求。同步定时器就有这样的作用,让这三个线程都准备好了之后在统一开始发送请求。

这里就可以看出,和之前的并不一样,这三个线程都处于started状态之后,才开始发送请求了。

聚合报告

这个和查看结果树功能差不多,都是查看运行之后的数据信息的

通过这个我们可以看到具体的吞吐量的信息:

事务控制器

有的时候一个接口是一个事务,有的时候多个接口是一个事务,如果多个接口是一个事务的话,那就需要用事务控制器来将这多个接口在一个事务下。

事务控制器,就是将几个请求放在同一个事务里,使用事务控制器需要将这些请求统一放到事务控制器的下面,这样这些请求才能是一个事务:

与上面没有事务控制器的时候相比,这个时候的聚合报告中多了一行——事务控制器:

逐步增压测试

并且给这个线程组添加一个监听器

要使用这个两个功能还需要安装两个插件:jpgc - Standard Set 和 Custom Thread Groups。

下面是运行的结果:

我们可以看出在55秒之前,响应时间不是很长,所以TPS呈现一个向上增长的趋势,这是因为:在一开始的时候响应时间并不是很长,但是总的事务数在增加,相应的成功的事务数肯定也在增加,所以TPS呈现上升趋势;在55秒到1分50秒的这段时间内,响应时间增大,TPS整体呈现较为平缓的趋势,这是因为:这个时候线程增加到最大,导致响应时间增大,响应时间变大,成功总事务数也变大,所以TPS总体上是平缓的;在1分50秒之后,响应时间开始减少,TPS也开始下降,这是因为:在最大线程数持续了30秒之后,线程开始减少,系统压力减少,所以响应时间开始减少,并且总事务也开始减少,因此TPS整体上是一个下降趋势,直到所有线程结束

导出测试报告

使用 jmeter -n -t [测试文件] -l [后缀为.jtl的日志文件] -e -o [导出目录] 来导出测试报告,其中日志文件和导出目录可以不存在,如果存在也要为空,不然就会导出失败。

在导出目录的文件夹中,有一个html文件,打开这个文件就可以看到具体的测试报告了

http://www.jsqmd.com/news/659417/

相关文章:

  • 2026电加热器厂家推荐排行榜从产能规模到专利技术权威解析 - 爱采购寻源宝典
  • MedGemma-X创新架构:图神经网络在医疗影像中的应用
  • 造相-Z-Image常见问题解决:RTX 4090部署、生成、优化全攻略
  • 2026在线监测仪厂家推荐排行榜产能、专利、质量三维度权威对比 - 爱采购寻源宝典
  • 2026玻璃钢树篦子厂家推荐 河北员力盛世以产能、专利、服务三维度领跑行业 - 爱采购寻源宝典
  • Bugku MISC 键盘 zip伪加密(超详细题解 WP)
  • 2026铜芯电力电缆厂家推荐排行榜产能与专利双优企业领衔 - 爱采购寻源宝典
  • 周红伟:Hermes vs OpenClaw:到底谁代表了Agent的下一阶段?
  • wan2.1-vae实操手册:解决人物变形、模糊、水印等6类常见问题
  • 2026蜂窝板厂家推荐排行榜产能、专利、服务三维度权威解析 - 爱采购寻源宝典
  • 网络存储方式
  • 吉林大学、阿里云等:为什么AI挑选训练数据时总爱“偏心“长句子?
  • RHEL虚拟机安装(red hat_6.10),RHEL 6.10 镜像百度云下载,VMware 安装 RHEL 6.10
  • 2026橡塑保温板厂家推荐排行榜河北富盛产能领先+专利护航+服务无忧 - 爱采购寻源宝典
  • YOLO12视频流扩展:OpenCV逐帧捕获+YOLO12 API调用代码实例
  • 别再混用了!LDO、DCDC和电压基准源的精度到底差多少?附选型避坑指南
  • 郑州小语种培训机构选择指南~
  • AI快速开发简单个人微信小程序
  • 2026氨氮吹脱塔厂家推荐排行榜从产能到专利的权威对比 - 爱采购寻源宝典
  • Qwen3-4B模型入门教程:部署后如何确认服务正常并开始使用?
  • 《废旧物资商品详情页前端性能优化实战》
  • 2026围墙护栏厂家推荐排行榜产能规模与专利技术双领先 - 爱采购寻源宝典
  • Ostrakon-VL 终端 MultiSim 电路仿真集成:智能硬件原型验证平台
  • 餐饮零售AI视觉助手Ostrakon-VL-8B:开箱即用,一键部署实战
  • 加州大学伯克利分校和斯坦福大学联手破解AI学习效率难题
  • 忍者像素绘卷一文详解:Z-Image-Turbo-rinaiqiao checkpoint深度解析
  • 2026钢筋网片厂家推荐排行榜产能规模与专利技术双维度权威对比 - 爱采购寻源宝典
  • 2026物流箱厂家推荐排行榜从产能到专利,江苏力森塑业凭实力领跑全国 - 爱采购寻源宝典
  • 告别环境配置烦恼:TensorFlow-v2.9镜像开箱即用,5分钟开启AI之旅
  • 基于cv_resnet101_face-detection_cvpr22papermogface的Java集成实战:SpringBoot服务调用