JMeter 基本使用【Windows Jmeter GUI 图形界面】

1.安装jmeter GUI图形界面

需要安装JDK

官方网址: Apache JMeter - Apache JMeter™

linux tgz windows zip

2. 目录及文件

bin: 核心可执行文件,包含配置

extras:插件扩展包

lib:核心依赖包

        ext:核心包

        junit:单元测试包

3. 准备一个API接口测试

/**
 * JMeterHttpController
 *
 * @author joker
 * @version 1.0
 * 2022/11/1 15:55
 **/
@Slf4j
@RestController
@CrossOrigin
@Api(tags = "jmeter测试")
public class JMeterHttpController {

    @ApiOperation("名称列表")
    @GetMapping("/listName")
    public Result<List<String>> listName(){
        log.info("http listName Api request...");
        ArrayList<String> arrayList = Lists.newArrayList();
        arrayList.add("张三");
        arrayList.add("李四");
        arrayList.add("王五");
        return Result.success(arrayList);
    }
}

使用浏览器地址栏模拟访问

添加一个线程组:

线程数: 虚拟用户数,一个虚拟用户占用一个进程或线程

Ramp-Up: 准备时长, 全部线程启动的时长 比如100个线程,20秒,则表示20秒内100个线程都要完成启动,每秒启动5个线程

循环次数:每个线程发送的次数,例如值为5,100个线程,则会发送500次请求,可选永久循环

一个线程组下可以增加多个sampler

查看测试结果,添加结果数

断言基本使用:

以响应断言为例子

测试字段:

响应文本: 即响应的数据,比如json文本

响应代码: http的响应状态码,如200 400 404

响应信息:http响应代码对应的响应信息,例如OK,Found

响应头: response header

模糊匹配规则:

包含:包含在里面则成功

匹配:响应内容完全匹配,不区分大小写

断言失败会变成红色, 请求成功-断言失败

失败原因 同 断言自定义失败消息

4.压测结果聚合报告:

lable: sample名称,可以看出接口名称

samples:总共发送多少个请求

average:平均响应时间

median:中位数,50%的用户都是这个响应时间

90%line:90%的用户响应时间不会超过这个值

...

min:最小响应时间

max:最大响应时间

error%: 错误率 错误的请求总数 / 请求总数

Throughput:吞吐量,可以理解为qps

KB/Sec:每秒接收数据量

5.压测脚本JMX:

待补充

6.用户自定义变量:

可以一处定义,多处使用

应用方式${xxx},在接口中使用,也可当参数传递

7.CSV可变参数:

准备api接口

@ApiOperation("指定字符长度")
@GetMapping("/nameLength")
public Result<List<String>> nameLength(String name){
    log.info("http nameLength Api request...");
    ArrayList<String> arrayList = Lists.newArrayList();
    arrayList.add(name);
    arrayList.add(String.valueOf(name.length()));
    return Result.success(arrayList);
}

准备csv数据(默认以逗号分割)

添加CSV配置

指定具体的csv文件,自定义设置变量名

变量名替换固定值

查看结果树,请求参数使用的csv文件中的数据

多参数情况

@ApiOperation("指定两个字符长度")
@GetMapping("/nameTwoLength")
public Result<List<String>> nameTwoLength(String name, String nameTwo){
    log.info("http nameTwoLength Api request...");
    ArrayList<String> arrayList = Lists.newArrayList();
    arrayList.add(name);
    arrayList.add(String.valueOf(name.length()));
    arrayList.add(nameTwo);
    arrayList.add(String.valueOf(nameTwo.length()));
    return Result.success(arrayList);
}

 准备数据

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值