下载
一,进入官网:http://jmeter.apache.org/
1.第一步进入官网如下图
![](https://img.haomeiwen.com/i18698055/cb8d4f87bf0eb1a3.png)
2.选择进行下载,下载下来为一个压缩包,解压即可。
![](https://img.haomeiwen.com/i18698055/2efda4315461e51e.png)
3.我下载的是jmeter5.3版本,对应jdk1.8。然后就进行解压。个人认为要注意3点:1.解压之后压缩包叫apache-jmeter-4.0.zip,如是src.zip后缀的都不对,打开之后会报错不可用,因为里面缺少我们下一步将要配置的环境变量.jar文件。2.对应的jdk版本不可太低,一般jmeter3.0的对应jdk1.7,jmeter4.0对应jdk1.8以上,否者启用jmeter也会报错。3.一定要确保环境变量配置正确(包括jdk的与jmeter的环境变量配置),好了,接下来进行环境变量配置吧,因为是新手所以参照了大佬们的教程,我就根据自己的实际遇到的情况,总结一下来做备忘。
4.环境变量相关配置
4.1. 电脑桌面----》“计算机”图标----》鼠标右键选择“属性”----》点击高级系统设置----》高级---》环境变量页面
![](https://img.haomeiwen.com/i18698055/2f8b157f2a588123.png)
4.2.开始配置环境变量了。在系统变量框,点击“新建”,建立一个变量:JMETER_HOME,值为你解压的jmeter安装路径。这个路径根据自己实际安装路径进行填写。然后点击确定保存即可
![](https://img.haomeiwen.com/i18698055/f8e8508f86ec239e.png)
4.3.配置classpath变量,没有的话也要按照上面步骤进行新建,有的话直接进行选中,点击编辑即可。变量值固定为:%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib/logkit-2.0.jar; 做完之后一定要保存,不确定的话可以直接点击确定按钮直到退到我的电脑页面
![](https://img.haomeiwen.com/i18698055/b55f393389e5459c.png)
4.4.基本配置完成,然后验证一下是否配置正确,是否可用。首先进到你的jmeter安装路径,找到bin文件夹,点击进去,找到jmeter.bat,鼠标右键用管理员方式运行,或者直接双击打开,此时会弹出2个界面:1.个是命令窗口,使用jmeter的时候此命令窗口不能关,你缩小到电脑任务栏即可。2.还有一个界面是jmeter工作页面,你可以在里面进行相关的操作.具体如图
![](https://img.haomeiwen.com/i18698055/dbebfd29ddd716c5.png)
4.5.确认安装是否成功,双击jmeter.bat或者以管理员方式运行,页面如下:
![](https://img.haomeiwen.com/i18698055/448450b50ac7267e.png)
4.6.jmeter的工作区域如下:,我们每次使用jmeter的首先打开方式就是进入bin文件下双击这个jmeter.bat,如果觉得麻烦,可以鼠标右键快捷方式发送电脑桌面,就会方便很多。
![](https://img.haomeiwen.com/i18698055/9f76f91bdbc6d76a.png)
4.7安装完成!!
jmeter使用 Jmeter基本操作
线程组是什么
进程: 一个正在执行的程序对应一个进程
线程: 一个进程有多个执行线程
线程组: 按照线程性质对线程分组
三者关系: 一个进程有多个线程组,一个线程组有多个线程
测试计划—线程组—线程组属性中的线程数
并发执行:多个线程同时执行,特点:执行结束的顺序与开始的顺序不一致
顺序执行:按照线程的启动顺序挨个执行
默认情况下,线程组中的线程是并发执行
每一个线程都要执行组内的http请求
设置线程组顺序执行:勾选测试计划中的(独立运行每个线程组)
线程组用来模拟用户的并发访问
Jmeter修改为中文
![](https://img.haomeiwen.com/i18698055/32775e48351517f8.png)
Jmeter修改背景色
![](https://img.haomeiwen.com/i18698055/5fb6371f20163805.png)
创建线程组
![](https://img.haomeiwen.com/i18698055/f950053ace70f1ba.png)
1.线程组主要包含三个参数:线程数、准备时长(Ramp-Up Period(in seconds))、循环次数。
2.线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。
3.准备时长(秒):设置的虚拟用户数需要多长时间全部启动。如果线程数为20 ,准备时长为10 ,那么需要10秒钟启动20个线程。也就是每秒钟启动2个线程。
4.循环次数:每个线程发送请求的次数。如果线程数为20 ,循环次数为100 ,那么每个线程发送100次请求。总请求数为20*100=2000 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。
5.调度器:设置线程组启动的开始时间和结束时间(配置调度器时,需要勾选循环次数为永远)
6.持续时间(秒):测试持续时间,会覆盖结束时间
7.启动延迟(秒):测试延迟启动时间,会覆盖启动时间
8.启动时间:测试启动时间,启动延迟会覆盖它。当启动时间已过,手动只需测试时当前时间也会覆盖它。
9.结束时间:测试结束时间,持续时间会覆盖它。
![](https://img.haomeiwen.com/i18698055/74b8ef1c10815f51.png)
创建http请求
![](https://img.haomeiwen.com/i18698055/71c59aecc3db8ab0.png)
指定请求域名,请求路径
![](https://img.haomeiwen.com/i18698055/71ce81479191ed66.png)
一个HTTP请求有着许多的配置参数,下面将详细介绍:
名称:本属性用于标识一个取样器,建议使用一个有意义的名称。
注释:对于测试没有任何作用,仅用户记录用户可读的注释信息。
服务器名称或IP :HTTP请求发送的目标服务器名称或IP地址。
端口号:目标服务器的端口号。
方法:发送HTTP请求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。
Content encoding :内容的编码方式,默认值为iso8859
路径:目标URL路径(不包括服务器地址和端口)
设置对应的查看内容
![](https://img.haomeiwen.com/i18698055/a49c086a4f3cf5e7.png)
查看表格信息
![](https://img.haomeiwen.com/i18698055/10e4f1ba0b747e2c.png)
Sample:每个请求的序号
Start Time:每个请求开始时间
Thread Name:每个线程的名称
Label:Http请求名称
Sample Time:每个请求所花时间,单位毫秒
Status:请求状态,如果为勾则表示成功,如果为叉表示失败。
Bytes:请求的字节数
样本数目:也就是上面所说的请求个数,成功的情况下等于你设定的并发数目乘以循环次数
平均:每个线程请求的平均时间
最新样本:表示服务器响应最后一个请求的时间
偏离:服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布。
查看结果树
![](https://img.haomeiwen.com/i18698055/f948d9e9d21b9501.png)
聚合报告参数说明
![](https://img.haomeiwen.com/i18698055/95bdc9aea4ebdea1.png)
lable:对应每一个http请求,显示的是http请求的Name,如百度http请求name为baidu
#Samples:表示这一次的测试中一共发出了多少请求,如上图所示,sougou和baidu的http请求每个都发出30个请求
Average:平均响应时间,指的是所有的请求的平均响应时间,如上图的30个请求的总的响应时间除以30得出的平均响应时间,默认的情况下是单个请求的平均响应时间,但当使用了“事务控制器”时,则以事物为单位显示平均响应时间
Median:中位数,也就是50%用户的响应时间
90%Line:90%用户的响应时间
Min:最小响应时间
Max:最大的响应时间
Error%:本次测试中出现错误的请求的数量/请求的总数,如上图所示,本次的测试中,sougou的http请求66.6%的请求出错,而baidu的请求则没有出错的请求
Throughput:吞吐量,默认情况下表示每秒完成的请求数,如上图所示,每秒完成的请求数分别为6.6个每秒,6.2个每秒
Recived KB/Sec:每秒从服务器端接收到的数据量,以kb为计算的单位
数据来源
目前本章的Json的数据都来自于 聚合数据
![](https://img.haomeiwen.com/i18698055/ba4572050fff6095.png)
Http请求
添加线程组
![](https://img.haomeiwen.com/i18698055/bb9e02adf2a0aabc.png)
在线程组里面添加http请求
![](https://img.haomeiwen.com/i18698055/1af3acbc19d9374f.png)
http中添加值
![](https://img.haomeiwen.com/i18698055/e1908571b93c98bd.png)
结果输出
![](https://img.haomeiwen.com/i18698055/970e579d367d8dde.png)
用户定义的变量
添加线程组
![](https://img.haomeiwen.com/i18698055/e94dd637b0394a02.png)
在线程组里面添加http请求
![](https://img.haomeiwen.com/i18698055/cca40aa62df9a384.png)
添加用户变量
![](https://img.haomeiwen.com/i18698055/7d877e7cba4d5c4f.png)
用户变量设置值
![](https://img.haomeiwen.com/i18698055/84934804353236dc.png)
Http请求中引用用户变量
![](https://img.haomeiwen.com/i18698055/84cfa165c32ce8ad.png)
结果输出
![](https://img.haomeiwen.com/i18698055/dfe6938367792c5a.png)
CSV数据文件设置
添加线程组
![](https://img.haomeiwen.com/i18698055/e6371f861628cca2.png)
在线程组里面添加http请求
![](https://img.haomeiwen.com/i18698055/2426bd30d12652b2.png)
在线程里面添加CSN数据文件设置
![](https://img.haomeiwen.com/i18698055/4dacd7d83084b11e.png)
在CSV 里面添加文件以及修改变量名
![](https://img.haomeiwen.com/i18698055/0aa63768a8840c00.png)
在http请求中引用CSV中的变量
![](https://img.haomeiwen.com/i18698055/68aee9d6971a12d6.png)
查看结果
![](https://img.haomeiwen.com/i18698055/fa2a57db70b979b5.png)
函数助手
保存数据到指定位置
![](https://img.haomeiwen.com/i18698055/7e42c33b73ceb1b8.png)
点击函数助手窗
![](https://img.haomeiwen.com/i18698055/fd07da7375855aa2.png)
弹出窗口
![](https://img.haomeiwen.com/i18698055/e00e7062fda10b02.png)
添加数据,生成字符串
![](https://img.haomeiwen.com/i18698055/f07f47ba46c878dc.png)
写入数据
![](https://img.haomeiwen.com/i18698055/8d5a83f97f502eb2.png)
运行结果
![](https://img.haomeiwen.com/i18698055/803c781eea1dbdec.png)
网友评论