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"

相关推荐
qq_452396232 天前
第十四篇:《JMeter插件扩展:自定义函数与第三方插件》
开发语言·python·jmeter
qq_452396233 天前
第十三篇:《分布式压测:JMeter Master-Slave集群》
分布式·jmeter
qq_452396234 天前
第十一篇:《性能压测基础:JMeter线程模型与压测策略设计》
java·开发语言·jmeter
沫沫-小白4 天前
JMeter 上传固定文件时,如何修改 Content-Disposition 的 filename
jmeter
qq_452396234 天前
第六篇:《JMeter逻辑控制器:循环、条件和交替执行》
android·java·jmeter
qq_452396237 天前
第四篇:《JMeter参数化:CSV数据文件与用户变量》
jmeter
qq_452396237 天前
第五篇:《JMeter关联:提取动态数据并传递给后续请求》
jmeter
弹简特8 天前
【Fiddler抓包工具】一文通关Fiddler抓包工具【附:Fiddler结合jmeter接口测试实战】
jmeter·fiddler·接口测试·抓包
测试19988 天前
性能测试方案设计的方法和思路
自动化测试·软件测试·测试工具·jmeter·测试用例·压力测试·性能测试
川石课堂软件测试8 天前
软件测试|常见面试题整理
数据库·python·jmeter·mysql·appium·postman·prometheus