Jmeter模拟用户登录时获取token如何跨线程使用?

一、用户定义的变量

1、添加"用户定义的变量"

2、填写"host、port"

二、setUp线程组

1、添加"setUp线程组"

2、设置循环次数"100"

三、CSV 数据文件设置

1、添加"CSV 数据文件设置"

2、填写信息"用户登录数据.csv、username,password"

四、HTTP请求

1、添加"HTTP请求"

2、填写信息"http、{host}、{port}、POST、/user/login、UTF-8、username、{username}、password、{password}"

五、HTTP信息头管理器

1、在"HTTP请求"下添加"HTTP信息头管理器"

2、填写信息,根据抓包"Request Headers"的信息填写

|------------------|-------------------------------------------------------------------------------------------------------------|
| Referer | http://${host}:{port}/user/login.html | | Accept-Language | zh-CN,zh;q=0.9 | | Origin | http://{host}:${port} |
| X-Requested-With | XMLHttpRequest |
| Content-Type | application/x-www-form-urlencoded;charset=UTF-8 |
| Accept-Encoding | gzip, deflate, br, zstd |
| Accept | application/json,text/javascript,*/*;q=0.01 |
| User-Agent: | Mozilla/5.0 (Windows NT 10.; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537 |

六、JSON断言

1、添加"JSON断言"进行断言

2、填写信息"$.code、200"

七、JSON提取器

1、添加"JSON提取器"提取token(大量数据写入CSV文件,进行读取)

2、填写"login_token、$.data.token",根据抓包数据填写

八、计数器

1、添加"计数器"

2、填写内容"number"

九、BeanShell断言

1、添加"BeanShell断言"

2、打开"函数助手对话框",

3、填写信息"_setProperty、login_token{number}、{login_token}"

4、填写"BeanShell断言"信息

// 获取的token,保存为全局变量,共享给其他线程组

// 创建100个全局变量:login_token_1,login_token_2,login_token_...

{__setProperty(login_token_{number},${login_token},)}

十、调试取样器

1、添加"调试取样器"

2、把"JMeter 属性"设置为"True"

十一、在另一个线程组填写需要压测的详情页

1、添加"线程组",设置循环次数

2、添加"HTTP请求",填写内容"http、{host}、{port}、GET、UTF-8、参数"

3、添加"函数助手"

先生成"${__Random(1,100,)}"

再生成"{__property(login_token_{__Random(1,100,)},,)}"

4、在"HTTP请求"下添加"HTTP Cookie管理器"

填写内容"Authorization、{__property(login_token_{__Random(1,100,)},,)}、${host}、/"

5、在"HTTP请求"下添加"HTTP信息头管理器"

6、添加"调试取样器",设置"JMeter 属性:True"

7.添加"JSON断言-判断code是否为200"

相关推荐
banyoyo1 天前
jmeter测试使用方法
jmeter
汪汪8888882 天前
jmeter压测下载功能影响本地内存的方案
jmeter
跨境数据猎手3 天前
跨境电商系统JMeter 和 Gatling 分工
jmeter
han68894 天前
jmeter操作数据库
数据库·jmeter
川石课堂软件测试6 天前
涨薪技术|0到1学会性能测试第8课-Analysis分析图
服务器·数据库·python·sql·jmeter·mysql·容器
川石课堂软件测试6 天前
JMeter异步接口测试实战
数据库·python·jmeter·mysql·kubernetes·测试用例·prometheus
zuozewei9 天前
第02篇-k6-脚本结构与生命周期
软件测试·jmeter·性能测试·k6·ai 编程
fen_fen9 天前
Jmeter5.1.1连接oracle数据库的错误复盘
数据库·jmeter·oracle
川石课堂软件测试12 天前
自动化测试|持续集成Git使用详解
git·python·jmeter·mysql·ci/cd·容器·kubernetes
wuhuhuan14 天前
JMeter 连接数据库并取值(JDBC 实战)
数据库·jmeter