Jmeter压力测试流程

一、准备

官网下载Apache JMeter - Download Apache JMeter

 

下载解压到本地盘

一定要先设置JAVA的环境变量

变量名: JAVA_HOME

变量值: D:/YJYJ/Java8/jdk1.8.0_201

然后环境添加: %JAVA_HOME%\bin

1、打开GUI界面

执行 ./apache-jmeter-5.4.1/bin/jmeter.bat 文件,此时即可看到其GUI界面。

 

2、更改语言为中文

操作路径:【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

修改背景颜色

工具栏,选项-外观-

3、创建测试文件夹

./**apache-jmeter-5.4.1/bin/文件夹中创建一个名为plan的文件夹,

用来保存测试计划及其测试结果。

二、创建测试

测试计划名称可以修改,可以添加注释

1、创建线程组

操作路径:【添加】-->【线程(用户)】-->【线程组】

 

并设置接口名称、线程数(并发同时请求数)、循环次数

(1)线程数:即虚拟用户数。设置多少个线程数也就是设置多少虚拟用户数

(2)Ramp-Up时间(秒):设置虚拟用户数全部启动的时长。如果线程数为20,准备时长为10秒,那么需要10秒钟启动20个线程。也就是平均每秒启动2个线程。一般设置为1s内发送多少个线程数即可.

*(3)循环次数**:每个线程发送请求的个数。如果线程数为20,循环次数为10,那么每个线程发送10次请求。总请求数为2010=200。如果勾选了“永远”, 那么所有线程会一直发送请求,直到手动点击工具栏上的停止按钮,或者设置的线程时间结束。

 

2、配置元件(可以省略)

操作路径:【添加】-->【配置元件】-->【HTTP请求默认值】

 

并填上测试接口的协议、服务器名称或IP、端口号,  

 

3、构造HTTP请求

操作路径:【添加】->【取样器】-->【HTTP 请求】

 

 

修改HTTP请求的类型,并填上接口路径

再点击消息体数据,填上请求参数,

 

如果为开放平台的接口:在web服务器中需要修改

协议: https (多了一个s)

服务器名称或ip: 如 ai.ylzinfo.com

4、添加断言

操作路径:【添加】-->【断言】-->【响应断言】

 

用于判断返回内容是否正常,

点击响应代码相等,在测试模式填上正常返回内容(比如200)

填上自定义失败消息(可选)

 

 注意:填200 后不要按回车,否者会识别为换行符. 到时候对此错误:

Assertion error:false
Assertion failure:true
Assertion failure message:Test failed: code expected to equal /

****** received  : 200[[[ ]]]
****** comparison: 200[[[
]]]

/

5、添加察看结果树

操作路径:【添加】-->【监听器】-->【察看结果树】

 点击运行,即可看到每个请求的返回内容

 

6、 其他查看形式

用表格查看结果

可以看到请求时间,传输大小,是否返回正常

 

 

聚合报告

可以查看平均值,中位数,90%分位,95%分位,99%分位,最小值,最大值,异常比例,吞吐量,接收速度跟发送速度

 

图形结果

可以查看请求时间分布等

 

 

6、保存测试计划

./**apache-jmeter-5.4.1/bin/plan/文件夹中创建一个名为yg的文件夹

点击保存,并重命名文件(例如yg.jmx

将其保存至相应文件夹中(例如 ./**apache-jmeter-5.4.1/bin/plan/yg/**)

 

7、带token的设置

添加-配置元件-HTTP信息头管理

添加:

四、参考

  • Content-Type : application/json;charset=UTF-8

  • Authorization: token值

     

    以上是静态token,如果是动态token,则再建请求来获取token

    发请求获取token

     

    json提取器

    JSON Path expressions: $.xxxx xxxx为获取token的返回结果的方式

     将提取的token设为全局变量

  • ${__setProperty(newtoken,${token})}

     将全局变量newtoken放进请求头给后续请求使用

  • ${__property(newtoken)}

    全局token设置完成

    参考(jmeter设置全局变量token - 橙子皮! - 博客园):

     

    三、执行测试计划

    1、执行测试

  • jmeter -n -t plan/yg/yg.jmx -l plan/yg/result/result.txt -e -o plan/yg/webreport

    说明:

    -t 为测试计划文件路径

    -l 为测试结果文件路径

    -o 为web报告保存路径

    如果result 跟webreport 已经存在,则必须先删除,或者重命名

  • 2、查看报告

    双击./**apache-jmeter-5.4.1/bin/plan/yg/webreport/index.html**可查看其报告。

  • 3、参数解释

  • 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来衡量的吞吐量

    •  

       

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值