JMeter的基本使用

Mr.Elibaron大约 3 分钟

JMeter的基本使用

1. 基本使用

Test Plan就是你的测试计划,可以理解为根目录,然后在里面创建测试的具体内容。

1.1 新建线程组

添加线程组,创建模拟多少个并发用户

在 Test Plan 上點右鍵, Add → Threads (Users) → Thread Group

image-20220621143515425
image-20220621143515425

设定有100个使用者来测试我们的服务

image-20220621144638422
image-20220621144638422
  • 线程数:虚拟用户数。

    模拟多少个用户请求

  • 准备时长(Ramp-Up Period(in seconds)):

    线程数多长时间内启动完成

    比如100个线程,5秒,则表示20秒内100个线程都要启动完成,每秒启动20个线程

  • 循环次数:

    每个线程发送的次数

    假如值为5,100个线程,则会发送500次请求,可以勾选永远循环

1.2 添加采样器(HTTP请求等)

创建完线程组后,再添加http请求,表示要对哪个接口进行测试

image-20220621144714690
image-20220621144714690
image-20220621145436107
image-20220621145436107

1.2.1 添加请求头信息

如果接口中需要设置特殊的请求头

如:用户信息的token,一般我们放在请求头

image-20220621150443152
image-20220621150443152
image-20220621150620862
image-20220621150620862

1.3 添加监听器

为需要压测的http请求添加监听器,用户生成测试结果

image-20220621145545694
image-20220621145545694
image-20220621145723861
image-20220621145723861

1.4 自动压测

image-20220621150711906
image-20220621150711906

1.5 查看结果

可以自行查看压测的结果

1.5.1 察看结果树

记录每个请求接口详情

image-20220621150815332
image-20220621150815332

1.5.2 汇总报告

image-20220621150928889
image-20220621150928889

1.5.3 聚合报告

image-20220621150939140
image-20220621150939140

1.5.4 汇总图

image-20220621150952833
image-20220621150952833

2. jmeter 参数化

入参经常变化的话,则可以设置成一个变量,方便统一修改管理;如果入参要求随机或可多种选择,则通过函数生成器或者读取文件形成一个变量。所以参数化有三种方式:

  • 用户定义的变量、
  • 函数生成器、
  • 读取文件。

2.1 用户定义的变量

需要添加配置元件 - 用户定义的变量。

image-20220621153104573
image-20220621153104573

定义ip

image-20220621153231624
image-20220621153231624

使用的时候

image-20220621153326131
image-20220621153326131

2.2 函数生成器

需要用到函数助手功能,可以调用函数生成一些有规则的数据。常用的几个函数有_uuid、_random、time。

  • ${__UUID}:

    会生成一个随机唯一 的 id,比如在避免 java 请求重发造成未处理数据太多的情况,接口请求可加一个唯一的请求 id 唯一的响应 id 进行一一对应;

  • ${_Random(1,100,)}:

    随机数_random,可以 在你指定的一个范围里取随机值;_

  • $

    _取当前时间_time,一些时间类的入参可以使用,如 {time (,)} 是生成精确到毫秒的时间戳、{time (/1000,)} 是生成精确到秒的时间戳、${__time (yyyy-MM-dd HH:mm:ss,)} 是生成精确到秒的当前时间。

2.2.1 通过函数助手查看

函数助手中的Random函数,

创建方式:Tools–>函数助手对话框–>选择一个功能–>_Random:

image-20220621155023710
image-20220621155023710

2.3 从文件读取

需要在线程组里面添加配置元件 - CSV Data Set Config 其中 Recycle on EOF: 设置 True 后,允许循环取值

image-20220621155455357
image-20220621155455357

配置

image-20220621155819206
image-20220621155819206

csv 文件

user_id,user_name
1,admin
2,test
3,sys

我们压测登录接口

image-20220621160200409
image-20220621160200409

测试结果

image-20220621160223118
image-20220621160223118

参考文章

使用JMeter进行压力测试open in new window

Apache JMeter 測試工具簡單基本教學open in new window

Jmeter 压测工具使用手册(完整版)open in new window

上次编辑于:
贡献者: Elibaron