jmeter提取token方式以及设置成全局变量(跨线程组传token值)方式

前言

今天Darren洋教大家如何使用jmeter中的插件来进行token值的提取与调用,今天Darren洋介绍两种jmeter提取token值的方式,一种是在当前线程组中直接提取token值,一种是跨线程组的方式进行token值的提取并调用给不同线程组里的HTTP接口使用。

方式一、jmeter提取token设置

此方式的缺点为每个线程组内只能又新建一个登录接口脚本(即每个线程组内必有一个登录接口脚本),因为此种方式提取到的token值不能跨线程组进行传输,故有一定的局限性。

定义token值的参数变量。

边界提取器进行边界值的提取。

json提取器进行json返回数据的提取并定义好一个变量名,以供HTTP请求头管理器进行获取。

在HTTP请求接口下添加的HTTP请求头里面添加定义的变量名,让该接口获取到json提取器提取到的token返回值进行令牌授权。

方式二、jmeter提取token设置成全局变量(跨线程组传token值)

此方式的优点为每个线程组内不需要再新建一个登录接口脚本(即一个.jmx脚本内所有线程组只需有一个登录接口脚本进行提取token值操作,即可把登录接口脚本获取的token提取到后面灭每一个线程组下的接口中进行令牌授权操作),因此此种方式提取到的token值能够跨线程组进行传输,故更加方便快捷和高效,可进一步缩短jmeter脚本传输token的效率。

在这种方式下,除了json提取器保持不变外,还要配合beanshell取样器进行使用,该取样器就是把json提取器里提取到的token变量进行重新命名包装,重新命名的变量名随便取好即可,要与放在下方接口的http请求头里面的变量名保持一致。

在接口下的http请求头里添加好beanshell取样器里重新命名好的变量名即可。要记得在线程组里(除第一个线程组)添加固定计时器哦!!!否则当不同线程组中的接口同时进行时,会发生获取token值不及时的情况。

相关推荐
川石课堂软件测试5 天前
自动化测试常见的异常处理
python·jmeter·mysql·docker·容器·单元测试·grafana
wuhuhuan6 天前
JMeter 性能测试教程
jmeter
行者-全栈开发6 天前
JMeter + InfluxDB + Grafana:搭建生产级压测实时监控与告警体系
jmeter·grafana·时序数据库·influxdb·实时监控·backendlistener·告警性能测试
wuhuhuan7 天前
【JMeter 学习打卡 Day 7】从会用到会用对,完成一次完整压测
学习·jmeter
行者-全栈开发9 天前
JMeter 自定义 Sampler 开发:从零写 TCP 私有协议压测插件
jmeter·tcp协议·源码解析·插件开发·gradle构建·自定义sampler·abstractsampler
wuhuhuan9 天前
【JMeter 学习打卡 Day 5】控制流程和节奏的利器
学习·jmeter
wuhuhuan10 天前
【JMeter 学习打卡 Day 4】多用户登录 + 动态 token 关联
学习·jmeter
wuhuhuan10 天前
jmeter高级用法-ForEach控制器和BeanShell断言
jmeter
weixin_4407305014 天前
手工接口测试使用总结
jmeter·接口测试
Amir_zy15 天前
JMeter吞吐量与并发数:要求TPS达到200,并发至少是多少?
jmeter