JMeter 压测实战全链路(三):登录接口压测实战・验证码+账号密码+登录全流程

我用登录接口来mock实战

jmeter插件市场

参考文章 :【接口测试】Jmeter安装插件及添加常用插件教程

下载插件管理工具JMeter Plugins Manager

第一步:下载JMeter Plugins Manager
https://jmeter-plugins.org/wiki/PluginsManager/
第二步:将下载的jar包拷贝到JMeter安装目录的 lib/ext 目录下

第三步:重启jmeter,点击选项 / "Options" 栏,发现"Plugins Manager"已安装成功。

下载插件操作redis

下载redis插件,我希望直接获取验证码的结果,不通过OCR或后台接口方式获取验证码。

勾选下载即可

压测登录接口

1.测试案例


点击右上角打开日志,查看调试信息。关键!!

上下文有不确定的地方,添加取样器-BeanShell取样器 log.info("key = " + key +" value = "+redisGetResult); 打印结果是否符合预期。

2.准备账号信息

参考文章:JMeter基础入门教程之CSV数据文件设置CSV Data Set Config


不需要特别操作,选取文件即可

3.获取验证码


4.操作redis获取验证码答案

添加取样器-BeanShell取样器

java 复制代码
// 导入Redis客户端依赖
import redis.clients.jedis.Jedis;
import org.apache.commons.lang3.StringUtils;

// Redis服务器连接地址
String host = "192.168.31.31";
// Redis服务端口号
int port = 6379;
// Redis访问密码,无密码则为空字符串
String password = "";
// 要操作的Redis数据库索引
int index = 0;
// 从变量中获取uuid,拼接Redis的key值
String uuid = vars.get("uuid");
String key = "captcha_codes:" + uuid;

// 声明Jedis连接对象
Jedis jedis = null;

try {
    // 初始化Jedis连接
    jedis = new Jedis(host, port);
    
    // 如果密码非空,则进行身份验证
    if(StringUtils.isNotBlank(password)){
        jedis.auth(password);
    }
    
    // 选择指定的Redis数据库
    jedis.select(index);
    
    // 根据key获取Redis中的数据
    String redisGetResult = jedis.get(key); 
    
    // 将获取到的结果保存为JMeter变量,供后续使用
    vars.put("redisGetResult", redisGetResult);
    
    // 打印到控制台
    System.out.println("key = " + key +" value = "+redisGetResult);
    
    // 打印到查看结果树
    log.info("key = " + key +" value = "+redisGetResult);
    
} catch (Exception e) {
    // 捕获Redis操作异常,打印错误日志
    log.error("Redis获取验证码数据异常:", e);
    System.out.println("Redis获取验证码数据异常:", e);
    
} finally {
    // 无论是否异常,最终关闭Jedis连接,释放资源
    if (jedis != null) {
        jedis.close();
    }
}

5.登录接口请求

添加配置元件-HTTP信息头管理器

设置json格式即可

请求参数直接使用csv的列标题和上下文放入的变量

6.请求结果查看

请求头

请求体

响应数据

相关推荐
程序员小远7 天前
自动化测试基础知识总结
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
LT10157974447 天前
2026年Web自动化测试工具选型指南:多浏览器兼容解决方案
前端·测试工具·自动化
程序员三藏8 天前
Web自动化测试详解
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
专业机床数据采集8 天前
基于 Wireshark 抓包逆向设备通信协议,并用 C# UDP协议跨平台 实现宝元数控程序列表读取、上传、下载和删除
网络·测试工具·wireshark·程序传输·宝元数控·dnc·数控程序传输
程序员龙叔8 天前
从 0 开始学习 AI 测试 - 从接口测试来教你如何用 AI 来生成自动化测试代码
自动化测试·软件测试·python·软件测试工程师·测试工具·性能测试·ai测试
Saniffer_SH8 天前
【高清视频】Gen6 服务器还没到,Gen6 SSD 怎么测?Emily 现场演示三种测试环境
人工智能·驱动开发·测试工具·缓存·fpga开发·计算机外设·压力测试
川石课堂软件测试8 天前
APP自动化测试|高级手势操作&toast操作
css·功能测试·测试工具·microsoft·fiddler·单元测试·harmonyos
LT10157974448 天前
2026年开源自动化测试工具选型指南:功能与适用场景解析
测试工具·开源·自动化
大叔带刺9 天前
AutoSAR SomeIP配置开发速成_02测试工具开发
测试工具·someip