官网下载Apache JMeter - Download Apache JMeter
下载解压到本地盘
一定要先设置JAVA的环境变量
变量名: JAVA_HOME
变量值: D:/YJYJ/Java8/jdk1.8.0_201
然后环境添加: %JAVA_HOME%\bin
执行 ./apache-jmeter-5.4.1/bin/jmeter.bat 文件,此时即可看到其GUI界面。
操作路径:【Options】->【Choose Language】-> 【Chinese(Simplified)】
永久4设置
进入apache-jmeter-5.2.1\bin目录,找到“jmeter.properties”文件,在文件的第37行后添加“language=zh_CN”,保存之后再打开jmeter就永久变为中文环境了。修改字体:
jsyntaxtextarea.font.family=Hack #1169行 jsyntaxtextarea.font.size=14
修改背景颜色
工具栏,选项-外观-
在 ./**apache-jmeter-5.4.1/bin/文件夹中创建一个名为plan的文件夹,
用来保存测试计划及其测试结果。
测试计划名称可以修改,可以添加注释
并设置接口名称、线程数(并发同时请求数)、循环次数,
(1)线程数:即虚拟用户数。设置多少个线程数也就是设置多少虚拟用户数
(2)Ramp-Up时间(秒):设置虚拟用户数全部启动的时长。如果线程数为20,准备时长为10秒,那么需要10秒钟启动20个线程。也就是平均每秒启动2个线程。一般设置为1s内发送多少个线程数即可.
*(3)循环次数**:每个线程发送请求的个数。如果线程数为20,循环次数为10,那么每个线程发送10次请求。总请求数为2010=200。如果勾选了“永远”, 那么所有线程会一直发送请求,直到手动点击工具栏上的停止按钮,或者设置的线程时间结束。
操作路径:【添加】-->【配置元件】-->【HTTP请求默认值】
并填上测试接口的协议、服务器名称或IP、端口号,
操作路径:【添加】->【取样器】-->【HTTP 请求】
修改HTTP请求的类型,并填上接口路径,
如果为开放平台的接口:在web服务器中需要修改
协议: https (多了一个s)
服务器名称或ip: 如 ai.ylzinfo.com
操作路径:【添加】-->【断言】-->【响应断言】
用于判断返回内容是否正常,
点击响应代码、相等,在测试模式填上正常返回内容(比如200)
填上自定义失败消息(可选)
注意:填200 后不要按回车,否者会识别为换行符. 到时候对此错误:
Assertion error:false
Assertion failure:true
Assertion failure message:Test failed: code expected to equal /
****** received : 200[[[ ]]]
****** comparison: 200[[[
]]]
/
操作路径:【添加】-->【监听器】-->【察看结果树】
点击运行,即可看到每个请求的返回内容
用表格查看结果
可以看到请求时间,传输大小,是否返回正常
聚合报告
可以查看平均值,中位数,90%分位,95%分位,99%分位,最小值,最大值,异常比例,吞吐量,接收速度跟发送速度
图形结果
可以查看请求时间分布等
在 ./**apache-jmeter-5.4.1/bin/plan/文件夹中创建一个名为yg的文件夹
点击保存,并重命名文件(例如yg.jmx)
将其保存至相应文件夹中(例如 ./**apache-jmeter-5.4.1/bin/plan/yg/**)
添加-配置元件-HTTP信息头管理
添加:
Content-Type : application/json;charset=UTF-8
Authorization: token值
以上是静态token,如果是动态token,则再建请求来获取token
json提取器
JSON Path expressions: $.xxxx xxxx为获取token的返回结果的方式
将提取的token设为全局变量
${__setProperty(newtoken,${token})}
将全局变量newtoken放进请求头给后续请求使用
${__property(newtoken)}
全局token设置完成
参考(jmeter设置全局变量token - 橙子皮! - 博客园):
jmeter -n -t plan/yg/yg.jmx -l plan/yg/result/result.txt -e -o plan/yg/webreport
说明:
-t
为测试计划文件路径
-l
为测试结果文件路径
-o
为web报告保存路径
如果result 跟webreport 已经存在,则必须先删除,或者重命名
双击./**apache-jmeter-5.4.1/bin/plan/yg/webreport/index.html**可查看其报告。
Sample:本次测试场景共运行多少线程;
Average:平均响应时间;
Median:统计意义上的响应时间中值;
详细流程:使用 JMeter 进行压力测试 - 晓晨Master - 博客园
90% line:所有线程中90%的线程响应时间都小于xx的值;
Min:响应最小时间;
Max:响应最大时间;
Error:出错率;
Throughput - 吞吐量以“requests/second、requests /minute、 requests /hour”来衡量。 时间单位已经被选取为second,所以,显示速率至少是1.0,即每秒1个请求。 当吞吐量被保存到CVS文件时,采用的是requests/second,所以30.0 requests/second 在CVS中被保存为0.5
Kb/sec - 以Kilobytes/seond来衡量的吞吐量