首页 > 其他分享 >接口测试工具-Jmeter压力测试使用

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

时间:2022-10-16 11:02:15浏览次数:68  
标签:jmeter 请求 接口 测试 测试工具 Jmeter 环境变量

上一期分享了接口调用的工具-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压力测试使用_服务器_02

 

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

接口测试工具-Jmeter压力测试使用_服务器_03

接口测试工具-Jmeter压力测试使用_响应时间_04

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

接口测试工具-Jmeter压力测试使用_服务器_05

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

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

接口测试工具-Jmeter压力测试使用_服务器_06

 

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

接口测试工具-Jmeter压力测试使用_服务器_07

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

接口测试工具-Jmeter压力测试使用_数据_08

三、Jmeter测试案例

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

接口测试工具-Jmeter压力测试使用_数据_09

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

接口测试工具-Jmeter压力测试使用_数据_10

 

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

接口测试工具-Jmeter压力测试使用_数据_11

4、为线程添加监听器

接口测试工具-Jmeter压力测试使用_响应时间_12

5、启动测试

接口测试工具-Jmeter压力测试使用_数据_13

 

6、查看报告

查看结果树

接口测试工具-Jmeter压力测试使用_服务器_14

聚合报告


图形结果

接口测试工具-Jmeter压力测试使用_数据_15

四、结果分析查看

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

1、View Results Tree

接口测试工具-Jmeter压力测试使用_数据_16

返回数据:

取样器结果:返回值报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压力测试使用_数据_17

  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压力测试使用_响应时间_18

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

4、jp@gc - Transactions per Second

接口测试工具-Jmeter压力测试使用_响应时间_19

5、保存到文件

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

接口测试工具-Jmeter压力测试使用_数据_20

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

接口测试工具-Jmeter压力测试使用_数据_21

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压力测试使用_响应时间_22

标签:jmeter,请求,接口,测试,测试工具,Jmeter,环境变量
From: https://blog.51cto.com/domi/5760184

相关文章

  • 接口测试工具-Postman使用详解
    前公司有个说法叫做狗粮环境,什么叫做狗粮环境,就是搭建环境自己测试自己的代码,算法很多时候写好后是通过restful接口对外使用,接口测试就要引出一个利器-Postman.1、安装postm......
  • shopee V2 接口 虾皮货代打包贴单仓储系统,独立部署,系统源码 终身使用,没有任何隐形收
    shopeeV2接口虾皮货代打包贴单仓储系统,独立部署,系统源码 终身使用,没有任何隐形收费,想怎么用就怎么用直接就已经对接好了的接口。  虾皮货代打包系统虾皮代贴......
  • 上交所FAST行情接口对接
    一、前言之前已完成了Binary行情的解析,接着便继续研究FAST(STEP)行情,但花费了将近一个月时间才终于搞定了。前面说过Binary格式的行情不太直观,所以对于初学者有点难度,接触FA......
  • Function接口
    function(T,R)Rapply(Tt)根据类型T的参数获取类型R的结果使用场景例如,将String类型转化为Integer类型publicclassDemo1Apply{publicstaticIntegerc......
  • 网络通信——HTTP接口访问——移动数据格式JSON
        网络通信的交互数据格式有两大类,分别是JSON和XML。对于App来说,基本采用JSON格式与服务器通信。JSON相比XML的优势主要有两个:(1)手机流量很贵,表达同样的信息,J......
  • Jmeter扩展组件:图形监视器-PerfMon (Servers Performance Monitoring)
    1、是什么用于监听服务器CPU、IO、网络等各项指标的组件2、如何实现Jmeter​本身不具备该功能,需要下载第三方实现在服务器端安装监听程序,在测试机端安装接收程序监听程序:Ser......
  • VM系列振弦采集模块电源接口详细说明
    VM系列振弦采集模块电源接口详细说明VMXXX模块有多个电源接口,分别为:宽电压电源输入(VIN)、内核电源(VDD)、参考电压源(VREF)、振弦传感器激励电源(VSEN),各电源共用GND。 ......
  • 多通道振弦传感器无线采发仪VS-BOX通讯接口与电源接口定义
    多通道振弦传感器无线采发仪VS-BOX通讯接口与电源接口定义 VS-Box是以振弦、温度传感信号为主的多通道无线采发仪,并可扩展其它模拟(电流、电压、电阻)信号和数字信号(RS485......
  • 接口加签处理
    接口签名通过appid,appsecret,nonce(随机数字)timestamp和其他参数经过一定的规则组成的字符串,然后经过加密之后的sign值。sign签名的值一般是通过query参数或者请求头参数传......
  • Jmeter组件:组件执行顺序和作用域
    1、组件执行顺序组件:Jmeter的内置功能,每一个功能都是一个组件元件:元件中存储的都是性质相似的组件(就是对组件的分类管理)各组件之间的排序配置原件(configelements):存储了一些......