JMeter的简单使用

一、初识JMeter

1. 简介(摘自百度百科)

Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小程序服务、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。

2. 自述

JMeter是业界比较优秀的测试软件,最基本的功能可以当成postman使用,然后进阶点就是给接口做并发测试,这里的并发是指真正意义的并发,像postman之类的软件所谓的并发本质上还是串行执行的。再高阶的用法就是通过脚本来完成多服务器的压测,因为了解有限,更多高级用法得在实际中需要用到才有机会去学习。

二、下载安装JMeter

环境为Win10,jdk版本1.8以上

1. 下载

官网下载地址

2. 安装

直接把下载好的压缩包解压到想要安装的位置即可。解压即可使用(前提是系统已经配好jdk环境)

3. 目录

解压可以看到JMeter的基本目录,大致可以了解下。

4. 插件

JMeter支持插件扩展,有更多的功能都可以用插件来实现。

使用插件有两种方法,

​ 一是使用什么插件就下载对应jar包放到%jmeter%libext路径下。

​ 二是使用官网提供的插件管理器,然后在管理器里选择所需插件进行安装。

这里介绍第二种方法,先去下载插件管理器 jmeter-plugins,然后把下载好的jmeter-plugins-manager-1.4.jar 放到%jmeter%libext下重启就可以。

打开JMeter之后,在GUI界面选择 Options -> 最底下 Plugins Manager 即可打开插件管理器进行使用。

三、基本使用

在此简单介绍下JMeter的运行背景,使用GUI界面执行测试会大量消耗系统资源,而使用命令行工具执行测试脚本则能够缩减所需的系统资源,所以一般的用法是先在GUI界面创建好测试计划的脚本,然后通过命令行去执行。

1. 运行

打开%jmeter%in文件夹,里面有sh和bat两种格式的脚本,分别对应Linux系统和Win系统的。打开jmeter.bat就会启动一个命令窗口和GUI界面窗口,两者是共存的,不能关闭,使用时把命令窗口最小化即可。

命令窗口:

GUI界面窗口:

2. 语言切换

英文的方便对照官方文档使用,但想切换中文也是可以的,在之前的版本中使用中文需要下载语言包自己手动加载,在此版本就不需要了,直接在GUI界面窗口操作 Options -> Choose Language -> Chinese (Simplified)即可

然后就切换到中文了。

3. 组件介绍

下文介绍的组件是根据个人学习到的组件而去使用的,所以作为开发人员去使用JMeter可能比不上专业使用,仅作介绍了解。

3.1 测试计划 (Test Plan)

可以理解为一个项目,就是一个最大的根目录,里面包括多种真正工作的测试组件。

3.2 线程组 (Thread Group)

添加:线程(用户) -> 线程组

也称用户组,是进行测试的基本单位, 也可以理解为测试计划执行的开始点,它可以设置线程信息来模拟并发。

3.3 计数器 (Counter)

添加: 配置元件 -> 计数器

用于配置一些计数作用的原件,比如我测接口,需要传一个ID,ID每次递增1,设置好之后,直接在请求参数里使用 ${引用名称}即可使用。

3.4 聚合报告 (Aggregate Report)

添加:监听器 -> 聚合报告

一般用于显示Web接口测试的,它里面各项数据都反应了接口的情况。

各项数据含义(注意:时间单位为ms):

Label:每个请求的名字,可理解为每个接口请求的Name属性。

样本(Samples):表示一次测试中一共发起了多少个请求,如果按照上面设置的持续30s,每秒100个并发量,那么就是30*100=3000个请求。

平均值(Average):平均响应时间,默认情况是单个请求的平均响应时间。

中位数(Median):中位数,也就是一半的用户的响应时间。

90%百分位和95%百分位(90% Line 和 95% Line):意指90%和95%的用户的响应时间,关于为什么是这两个百分比的用户数可以自行了解下。

最小值(Min):最小响应时间。

最大值(Max):最大响应时间。

异常%(Error%):错误率,指一次测试中出现错误的请求/总请求数。

吞吐量(Throughput):默认情况表示每秒完成的请求数。

3.5 响应时间图 (Response Time Graph)

添加:监听器 -> 响应时间图

这个图没记错的话是自带的,但好像看起来不太好用,所以其实用别的插件生成的图更生动些。

3.6 察看结果树 (View Results Tree)

添加:监听器 -> 察看结果树

不懂是不是因为翻译问题,可能把查看写成了察看,总之是一个意思。这个组件可以看到请求的发送和返回信息,当你执行测试后,这里会自动填充请求数据就可以看了。

3.7 Http请求(Http Request)

添加:取样器 -> Http 请求

这里就是最常用的组件了,模拟接口测试请求,填写好服务器IP地址和端口号,然后填写请求路径,设置好入参,就可以用了。

3.8 TPS

添加:监听器 -> jp@gc - Transactions per Second

想要查看TPS得先装插件,可用插件管理器安装。

然后添加该组件时,选择TPS即可,


这些组件也是等测试完成有数据之后才会绘制图表,未执行测试之前是不会有东西的。

ps:本次介绍的是个人使用到的一些简单组件,还有很多好用的东西还没接触到,后续有机会可以继续学习使用。

四、 小结

在此学习了解到了JMeter的快速入门,包括下载安装、一些简单的使用。其实可能连入门都不算,JMeter还是很复杂的,比如工作原理、配置文件、日志管理、定时器、断言、命令行执行等更高级的功能,希望在空闲时多去了解下,多掌握一些技能。

文章是在自己电脑typora写好移植过来的,因为版块问题,导致内容换行很别扭。
而且有些图复现不了,只能用本地上面的截图,所以很模糊。

原文地址:https://www.cnblogs.com/yellowgg/p/13794431.html