接口测试工具-Jmeter压力测试使用

时间:2022-09-16 00:36:53

✅作者简介:热爱科研的算法开发者,Python、Matlab项目可交流、沟通、学习。

????个人主页:算法工程师的学习日志

上一期分享了接口调用的工具-Postman(传送门:​​接口测试工具-Postman使用详解​​),这业务场景中还需要分析对应接口的性能,是否支持多并发,多并发的极限QPS在什么地方,这个时候就需要压力测试工具-Jmeter。

官方描述jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单。因为jmeter是java开发的,所以运行的时候必须先要安装jdk才可以。jmeter是免安装的,拿到安装包之后直接解压就可以使用,同时它在linux/windows/macos上都可以使用。
  jmeter可以做接口测试和压力测试。其中接口测试的简单操作包括做http脚本(发get/post请求、加cookie、加header、加权限认证、上传文件)、做webservice脚本、参数化、断言、关联(正则表达式提取器和处理json-json path extractor)和jmeter操作数据库等等。

一、Jmeter下载

进入官网:http://jmeter.apache.org/

1.第一步进入官网如下图

接口测试工具-Jmeter压力测试使用

2.选择进行下载,下载下来为一个压缩包,解压即可。

3.Jmeter对应jdk1.8。然后就进行解压。一定要确保环境变量配置正确(包括jdk的与jmeter的环境变量配置)。

二、Jmeter环境变量相关配置

1.)   电脑桌面----》“计算机”图标----》鼠标右键选择“属性”----》点击高级系统设置----》高级---》环境变量页面

 

接口测试工具-Jmeter压力测试使用

 

2) 开始配置环境变量了。在系统变量框,点击“新建”,建立一个变量:JMETER_HOME,值为你解压的jmeter安装路径。我的安装路径是在E盘,这个路径根据自己实际安装路径进行填写。然后点击确定保存即可

接口测试工具-Jmeter压力测试使用

接口测试工具-Jmeter压力测试使用

3)配置classpath变量,没有的话也要按照上面步骤进行新建,有的话直接进行选中,点击编辑即可。变量值固定为:%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib/logkit-2.0.jar;  做完之后一定要保存,不确定的话可以直接点击确定按钮直到退到我的电脑页面

接口测试工具-Jmeter压力测试使用

4)基本配置完成,然后验证一下是否配置正确,是否可用。

首先进到你的jmeter安装路径,找到bin文件夹,点击进去,找到jmeter.bat,鼠标右键用管理员方式运行,或者直接双击打开,此时会弹出2个界面:1.个是命令窗口,使用jmeter的时候此命令窗口不能关,你缩小到电脑任务栏即可。2.还有一个界面是jmeter工作页面,你可以在里面进行相关的操作.具体如图

接口测试工具-Jmeter压力测试使用

 

5)确认安装是否成功,双击jmeter.bat或者以管理员方式运行,页面如下:

接口测试工具-Jmeter压力测试使用

6)jmeter的工作区域如下:,我们每次使用jmeter的首先打开方式就是进入bin文件下双击这个jmeter.bat,如果觉得麻烦,可以鼠标右键快捷方式发送电脑桌面,就会方便很多。

接口测试工具-Jmeter压力测试使用

三、Jmeter测试案例

1、添加本次测试计划 (右键-->添加-->Threads(Users)-->线程组)

接口测试工具-Jmeter压力测试使用

2、设置线程数 (所谓线程数就是并发数)

接口测试工具-Jmeter压力测试使用

 

3、添加协议及相关配置信息

接口测试工具-Jmeter压力测试使用

4、为线程添加监听器

接口测试工具-Jmeter压力测试使用

5、启动测试

接口测试工具-Jmeter压力测试使用

 

6、查看报告

查看结果树

接口测试工具-Jmeter压力测试使用

聚合报告

接口测试工具-Jmeter压力测试使用

图形结果

接口测试工具-Jmeter压力测试使用

四、结果分析查看

当测试完成后,最关心的就是测试结果。jmeter提供了很多种查看测试结果的组件,View Results Tree、Summary Report、Graph Results等等,简单介绍一下

1、View Results Tree

接口测试工具-Jmeter压力测试使用

返回数据:

取样器结果:返回值报200,表示执行接口调试成功

请求:发送的数据

响应数据:返回的数据

Thread Name:线程组名称

Sample Start: 启动开始时间

Load time:加载时长

Latency:等待时长

Size in bytes:发送的数据总大小

Headers size in bytes:发送数据的其余部分大小

Sample Count:发送统计

Error Count:交互错误统计

Response code:返回码

Response message:返回信息

Response headers:返回的头部信息

2、AggregateReport

接口测试工具-Jmeter压力测试使用

  1. Label - 请求对应的name属性值。
  2.  Samples - 具有相同标号的样本数,总的发出请求数。
  3. Average - 请求的平均响应时间。
  4. Median - 50%的样本都没有超过这个时间。这个值是指把所有数据按由小到大将其排列,就是排列在第50%的值。
  5. 90% Line - 90%的样本都没有超过这个时间。这个值是指把所有数据按由小到大将其排列,就是排列在第90%的值。
  6. 95% Line - 95%的样本都没有超过这个时间。这个值是指把所有数据按由小到大将其排列,就是排列在第95%的值。
  7. 99% Line - 99%的样本都没有超过这个时间。这个值是指把所有数据按由小到大将其排列,就是排列在第99%的值。
  8. Min - 最小响应时间。
  9. Max - 最大响应时间。
  10. Error % - 本次测试中,有错误请求的百分比。
  11. Throughput - 吞吐量是以每秒/分钟/小时的请求量来度量的。这里表示每秒完成的请求数。
  12. Received KB/sec - 收到的千字节每秒的吞吐量测试。
  13. Sent KB/sec - 发送的千字节每秒的吞吐量测试。

3、Graph Results

接口测试工具-Jmeter压力测试使用

  1. No of Samples:总共发送到服务器的请求数。
  2. Latest Samples:代表时间的数字,是服务器响应最后一个请求的时间。
  3. Average:总运行时间除以发送到服务器的请求数。
  4. Devaition:表示服务器响应时间变化、离散程度测量值的大小。
  5. Throughput:服务器每分钟处理的请求数。
  6. Median:有一半的服务器响应时间低于改值而另一半高于该值。

4、jp@gc - Transactions per Second

接口测试工具-Jmeter压力测试使用

5、保存到文件

大部分组件均提供了将测试结果保存到文件的功能,指定输出文件的绝对路径即可,如下:

接口测试工具-Jmeter压力测试使用

执行完毕后,打开文件,可以查看原始的数据信息,接下来按自己的需要处理原始信息。

接口测试工具-Jmeter压力测试使用

6、生成web页面的报告

  • 在命令行下执行脚本,注意:如果没有配置环境变量的话,要在jmeter安装目录的bin下启动命令行,
  • 命令:
jmeter -n -t D:\program\apache-jmeter-5.0\samples\28.summary_report.jmx -l d:\summary.jtl -e -o d:\result


绿色字体:表示要执行的脚本

蓝色字体:生成后的脚本

红色字体:web页面报告的存储路径

  • 查看结果,生成很漂亮的测试报告

接口测试工具-Jmeter压力测试使用