jmeter一个线程组多个请求_接口压力测试神器Jmeter最全教程

78f8535b65cd74bf10c07fccc7744a78.png

1. Jmeter简介

Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。

JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。

另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。

2. Jmeter的下载和安装

Jmeter的使用需要java环境,需要先下载安装jdk;

下载Jmeter工具包,解压后进入bin文件夹,点击jmeter.bat即可运行;

可下载插件,拥有更多专业元件。

在http://jmeter-plugins.org/downloads/all/下载JmeterPlugins-Standard-1.1.3.zip,解压后将JmeterPlugins-Standard.jar放在XXXApachejmeterlibext下即可

3. 接口测试方法

1.什么是接口测试?

接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

2.准备数据

获得测试URL中需要用的参数名称及值的获取方式。

获得各请求的方法、IP、测试URL、测试header、测试body及判断基准

测试实施

将测试用例中的各项写入软件中。

(1)创建线程组

cc604ef24c49698007f05cf25ae16fd6.png

(2)修改线程组名称

966794912710a74789ab1eb0a3d38e9f.png

(3)为线程组添加元件

1.HTTP Cookie管理器

因为很多web网站都是需要登录后才可以进行操作,登录后产生的Cookie能够验证用户身份,在用软件进行测试时,需要通过验证,所以我们需要添加此管理器管理Cookie,它的值被整个线程共享(也可以被整个测试计划共享), Cookie在浏览器中取得。

b3987a7d6bbd41d4bf1d6e40e12f6923.png
12b07274d90bb6857d2fbf34b70f8ba8.png

2.HTTP 请求默认值

测试用例中每个接口的共同值可以用“HTTP 请求默认值”元件统计设置,省去每次请求都要填写的麻烦,它的值被整个线程共享(也可以被整个测试计划共享)。

c37170e24042718bd7f570f715848e94.png
335a0e0bb27a9f88591638b9faf81b59.png

3.用户定义的变量

将后续用到的变量添加到“用户定义的变量”,后续操作只需引用变量名称即可,它的值被整个线程共享(也可以被整个测试计划共享)。

e9edaf0fea66fa82b22dd090115844f6.png
c975a0c595bd4444686db25822087e5d.png

4.HTTP请求

发送http请求需要用的元件。

c480ca5784231f6989824b6c574c7d65.png
11aec5b6bb047a557485e14db5735e07.png

5.HTTP信息头管理器

发送http请求需要加入信息头时用此元件,如线程组中的所有请求均需要信息头,则可将此管理器升级为整个线程组共享或者整个测试计划共享。

784fa26626985a0dfd9a0fe15917bebf.png
c0301e48e44229afb0fc3aea644b4757.png

6.响应断言

发送请求后,需要通过比对响应结果是够符合判断基准来判断某条测试是否ok,通过人为判断是可行的,但是当请求数量较大时,人为判断效率低下,添加“响应断言” 能够提高效率(判断基准有多个时,可以添加多个断言)。

af5a9f739338b2060c98ad4763fdfb0c.png
a4ccb749fd78baeffff7a0a4d227ae9d.png

7.察看结果树

用于查看测试结果。

970e6dafc4db7af69ab7b4ff9d03e87a.png

8.其他元件

(1)正则表达式提取器

可将某次响应返回数据中某些信息提取出来,用于后续操作。

(2)Debug Sampler

用于调试整个测试

(3)CSV Data Set Config

通过文件进行参数化的一个元件。

(4)开始测试

添加好各种元件及数据后,可进行测试,通过察看结果树察看各请求测试结果。

5dcfe6f6a9d3c62fc041f8e2e3f21783.png

4. 压力测试方法

(1)线程组

e709ae936d2aea90f4061b3332beea10.png

(2)Constant Throughput Timer(固定吞吐量控制器)

90409d6a68f1e958efc7b0c7b9a0f33e.png

(3)聚合报告

f286abc8e3c6965d6c06c8e8dc8852d2.png
32c82d0132322991ec4cd79e2d22c7f9.png

(4)监听器

ebd03d0d73945a1e46e2c2b85e0028e3.png

监听器jp@gc - Transactions per Second

3bd45471298327677f0f2ee2084bfbb6.png

监听器jp@gc –PerfMon Metrics Collector

7af7638f43315730f7f20b7aeb1e53c4.png

(5)使用非GUI界面运行压力测试

753b7b366a3973c06b5e6749c87faa39.png

非GUI压力测试步骤:

在GUI界面设置并发数、测试时间等,添加各元件,保存测试计划,并关闭软件;

使用非GUI界面,用指令启动压力测试;

指令例如:D:Program Filesapache-jmeter-3.1bin>jmeter -n -t testplan.jmx -l listener.jtl

打开jmeter.bat,在聚合报告元件中载入“listener.jtl”,查看聚合报告;

在监视器中中载入“listener.jtl”,查看各曲线图

作者:liyouzhi666 原文:https://blog.csdn.net/m0_37529303/article/details/75453230