jmeter登录接口生成一批token并写入csv文件

背景:大部分项目真实的业务接口都是需要token鉴权的,想对一批核心业务接口进行并发压测,必然要先生成一批token给这些接口并发循环调用。

基本的思路是这样的:一批手机号csv文件 -》登录接口循环读取csv文件并生成token -》每次调用生成的token写入到存放token的csv文件中 -》其他所有接口读取csv文件中的token -》生成汇总报告。

jmeter 测试计划的整体结构图:

核心步骤:

(一)配置手机号csv数据文件设置

(二)添加json提取器,提取token变量

(三)添加Bean shell后置处理器

这段BeanShell的脚本代码就是将登录接口获得的token写入到csv文件中。

尤其注意,此处fw.write("${token}")这样写会报文件写入异常,只能用vars.get("token"),我这边压测的环境会报错。

代码粘贴如下:

import java.io.File;

import java.io.FileWriter;

import java.io.IOException;

// 获取token变量值

String token = vars.get("token");

// 文件路径 - 注意使用双反斜杠或正斜杠

String filePath = "D:\\jmeter-jmx\\压测\\生成号生成的token.csv";

try {

FileWriter fw = new FileWriter(filePath, true); // true表示追加模式

fw.write(token + "\n");

fw.close();

} catch (IOException e) {

log.error("写入文件失败: " + e.getMessage());

}

复制代码
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

// 获取token变量值
String token = vars.get("token");

// 文件路径 - 注意使用双反斜杠或正斜杠
String filePath = "D:\\jmeter-jmx\\压测\\生成号生成的token.csv"; 

try {
    FileWriter fw = new FileWriter(filePath, true); // true表示追加模式
    fw.write(token + "\n");
    fw.close();
} catch (IOException e) {
    log.error("写入文件失败: " + e.getMessage());
}

(四)读取csv中的token供其他所有需要鉴权压测的接口使用

经过前面的步骤已经生成了token备用,此时可以禁用手机号登录接口。

注意是在线程组下添加csv数据文件,这样只需加载一次csv数据文件就能被线程组下的接口共用。

因为我的token文件首行没有标题,所以不忽略首行。

查询用户信息接口要鉴权,所以请求头要带上token。

(五)配置压测参数和观察结果汇总

用10个线程持续压测10s

相关推荐
se-tester5 天前
JMeter、Postman 和 SoapUI 在做接口测试上的优势和缺点
测试工具·jmeter·接口测试·postman·soapui
feathered-feathered6 天前
测试实战【用例设计】自己写的项目+功能测试(1)
java·服务器·后端·功能测试·jmeter·单元测试·压力测试
质量保障小乔10 天前
JMeter+Jenkins+AI自动化测试
jmeter
装不满的克莱因瓶12 天前
Java高并发异步请求实战,Jmeter暴力压测下的解决方案
jmeter·线程池·多线程·并发·resttemplate·qps·压测
在坚持一下我可没意见18 天前
ideaPool论坛系统测试报告
java·spring boot·功能测试·selenium·jmeter·mybatis·压力测试
linweidong20 天前
别让老板等:千人并发下的实时大屏极致性能优化实录
jmeter·clickhouse·性能优化·sentinel·doris·物化视图·离线数仓
CesareCheung21 天前
JMeter核心组件使用方法及场景大全
jmeter
我会一直在的22 天前
Jmeter的基础使用
功能测试·jmeter·压力测试
choke23322 天前
软件性能测试实战:从基础概念到 JMeter 全组件使用
jmeter
网络安全-杰克23 天前
Jmeter压力测试工具安装与使用
自动化测试·软件测试·测试工具·jmeter·职场和发展