文章目录
- 一、jmeter的安装
-
- 1、安装配置JDK
- 2、安装配置Jmeter
- 3、Jmeter常用控件
- 二、Jmeter函数
- 三、正则表达式提取器
一、jmeter的安装
1、安装配置JDK
- 1.下载并且安装JDK
-
2.配置JAVA环境变量:右键计算机属性>>高级系统设置>>环境变量>>添加如下的系统变量
变量名:【JAVA_HOME】
变量值:【C:\Program Files\Java\jdk1.8.0_131】
变量名:【CLASSPATH】
变量值:【.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar】(切记.不可以丢)
- 3.校验JDK:打开cmd,输入java -version>>如果显示jdk版本就表示jdk安装成功了。
2、安装配置Jmeter
- 1.下载解压Jmeter安装包,官网:(http://jmeter.apache.org/download_jmeter.cgi)
-
2.配置Jmeter的环境变量:
变量名:【JMETER_HOME】
变量值:【I:\tools\xxxx\jmeter\apache-jmeter-4.0\apache-jmeter-4.0】(根据自己的jmeter解压路径填写)
变量名:【CLASSPATH】
变量值:【.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar】
- 3.启动Jmeter:双击Jmeter解压路径(apache-jmeter-4.0\bin)的bin下面的jmeter.bat
3、Jmeter常用控件
测试计划(Test Plan)
控件截图:

Test Plan包含了一个测试额所有内容,包含了所有的控件,属性变量。所以只有一个测试计划。它还可以定义变量,引入jar包,编辑测试模式等等。
工作台:
控件截图:
- 工作台是控件暂存的地方,在测试过程中可以把暂时不用的控件放在这里,等测试完成后再放回去。
- 注意:工作台中的控件不会保存在jmx文件中,所以,如果关闭jmeter,工作台中的控件会丢失。
线程组(Thread Group)
控件截图:
线程组即虚拟用户组
用户定义变量
控件截图:
- 注意事项:
注意变量的作用域,不同线程间变量不共享
线程组右击-添加-配置元件-用户定义的变量
添加-名称-变量名
然后将自己配置的名称将原值,调整线程组参数,设置循环次数,最后进行替代运行即可。
CSV Data Set Config
它就是一个读取txt,csv格式的测试数据的控件
在指定目录下新建一个txt文件
设置CVS 配置参数
CSV Data Set Config各个参数的简要说明:
FileName:csv文件或txt文件路径,可用相对路径
File Encoding: 文件编码格式设置
Varible Names: 定义文本文件中的参数名,可设置多个参数,参数之间逗号分隔.定义后可在脚本中引用,引用方式${name}
Delimiter(use "\t" for tab):指定参数分隔符号
Allow Quoated data: 是否允许引用数据
Recycle on EOF: 是否循环取值
Stop Thread on EOF: 当Recycle on EOF为false并且Stop Thread on EOF为true,则读完csv文件中的记录后,停止运行
Sharing Mode: 设置是否线程共享
定时器(Timer)
sampler(采样器)之前执行;如果只想应用于部分sampler,需要将定时器加入子节点;简单理解类似于loadrunner中的思考时间,控制sampler的间隔时间。
控件截图:
-
固定定时器:
就是设置 请求间隔时间
- 注意事项:
需要注意的是,固定定时器的延时不会计入单个sampler的响应时间,但会计入事务控制器的时间。
对于一个sampler来说,定时器相当于loadrunner中的pacing(理解就是一组请求操作的等待时间);对于"事务控制器"来说,定时器相当于loadrunner中的think time(单次操作的等待时间或间隔时间)
-
断言(Assertions)
解释:判断请求响应值的正确性的控件
-
响应断言:
理解:判断Reponse是否正确
注意事项:
断言要放在请求内
-
图形结果:
控件截图:
jmeter安装配置和基本操作一、jmeter的安装二、Jmeter函数三、正则表达式提取器 - 参数含义:
样本数目:总共发送到服务器的请求数。
最新样本:代表时间的数字,是服务器响应最后一个请求的时间。
吞吐量:服务器每分钟处理的请求数。
平均值:总运行时间除以发送到服务器的请求数。
中间值:代表时间的数字,有一半的服务器响应时间低于该值而另一半高于该值。
偏离:服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布。
注意事项:图形结果本身会影响Jmeter的性能
- 查看结果树
可用于调试,查看请求响应的数据,测试的结果,请求的内容。
控件截图:
参数含义:
取样器结果实例:
请求实例截图:
响应数据实例截图:
聚合报告:
控件截图:
参数含义:
Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值
#Samples:表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100
Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也可以以Transaction 为单位显示平均响应时间
Median:中位数,也就是 50% 用户的响应时间
90% Line:90% 用户的响应时间
Min:最小响应时间
Max:最大响应时间
Error%:本次测试中出现错误的请求的数量/请求的总数
Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数
KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec
二、Jmeter函数
函数助手
打开位置:选项——函数助手
控件截图:
函数实例:
${__time(YMD)}:当前日期函数
${__time(YMDHMS)}:当前四件函数
${__MD5(${fkeystr_no_register})}:MD5加密函数
更多可查看函数助手的帮助页面
函数调用:
选择想要使用的函数
输入想要使用函数的值
点击生成
然后将所得字符串复制到要使用的位置即可
三、正则表达式提取器
- 运用Jmeter正则提取器,可以从请求的响应结果中取到需要的内容,从而实现关联。关联是请求与请求之间存在数据依赖关系,需要从上一个请求获取下一个请求需要回传回去的数据
名称及注释
说明:
- (1)引用名称:下一个请求要引用的参数名称,如填写title,则可用${title}引用它。
-
(2)正则表达式:
():括起来的部分就是要提取的。
.:匹配任何字符串。
+:一次或多次。
?:不要太贪婪,在找到第一个匹配项后停止。
- (3)模板:用KaTeX parse error: Can't use function '$' in math mode at position 28: …式中有多个正则表达式,则可以是$̲23$等等,表示解析到的第几个值给title。如: 1 1 1表示解析到的第1个值
- (4)匹配数字:0代表随机取值,1代表全部取值,通常情况下填0
- (5)缺省值:如果参数没有取得到值,那默认给一个值让它取.
案例