【jmeter】-脚本-接口自动获取token

目录

1、整体说明

2、提取token

3、token设置全局变量

4、引用token

5、特殊说明


在jmeter调试和运行脚本时,接口需要token信息,如果每次都手工获取会很麻烦,所以我们把登录认证接口加进来,jmeter运行的时候从登录认证接口中自动获取token,后面的接口直接引用。

1、整体说明

setup线程组:加入登录认证接口,获取到token,然后设置成全局变量;

线程组:加入需要测试的接口,接口中直接引用token变量;

2、提取token

使用【正则表达式提取器】或者其他提取器,能提取到想要的内容即可,如下所示:

复制代码
yht_access_token=(.*?);

3、token设置全局变量

因为此处我们不是在同一个线程组中引用,跨线程引用还需要把token设置成全局变量,用到了【BeanShell 后置处理程序】,如图所示:

复制代码
${__setProperty(yht_access_token,${yht_access_token},false)}

__setProperty(...):这是一个 JMeter 函数

yht_access_token:要设置的属性名称

${yht_access_token}:属性的值,这里是表示引用了同名变量(正则表达式提取器中获取的变量)

false:当属性已经存在时,它不会被新值覆盖

4、引用token

线程组接口的【信息头管理器】中,使用下面语句引用token变量即可,如图所示:

复制代码
yht_access_token=${__property(yht_access_token)}

5、特殊说明

5.1、格式问题:${__property(xx)},里面是两个短的_连起来的,注意区分。

5.2、习惯问题:在同一个线程组中,前面接口设置变量后,后面接口用{xx}格式直接引用习惯了,在这种跨线程引用的时候,还是使用{xx}会获取不到。有一次设置错了,检查了很久没有找到原因,第二天重新检查才突然发现是这种问题。

相关推荐
测试员周周1 天前
【AI测试系统】第5篇:AI 编码工具抛硬币?我们用 LangGraph 做了个“确定性+AI”的测试系统(附自愈架构)
人工智能·python·功能测试·测试工具·架构·langchain·单元测试
弹简特1 天前
【精通Postman接口测试】02-集合变量|环境变量|全局变量,批量运行原来这么简单(附图文+CLI实战)
测试工具·接口测试·postman
DevilSeagull2 天前
电脑上安装的服务会自动消失? 推荐项目: localhostSCmanager. 更好管理你的服务!
测试工具·安全·react·vite·localhost·hono·trpc
弹简特2 天前
【精通Postman接口测试】01-基础理论+安装使用+项目实战+接口关联(万字图文,零基础保姆级)
测试工具·postman·接口关联
雪碧聊技术3 天前
什么是压力测试?压力测试的工具有哪些?一文详解
jmeter·压力测试·wrk
武帝为此3 天前
【Selenium 屏幕截图】
python·selenium·测试工具
武帝为此3 天前
【Selenium 执行 JavaScript】
javascript·selenium·测试工具
llilian_163 天前
晶体频率测试仪 破解晶振品控核心难题:晶体频率网络测试仪深度解析 晶体网络分析仪
网络·功能测试·单片机·嵌入式硬件·测试工具·51单片机
深念Y3 天前
从 Playwright/Selenium 到指纹浏览器:浏览器自动化技术的进阶之路
selenium·测试工具·自动化·浏览器·账号·无头浏览器·指纹浏览器
Johnstons3 天前
Wireshark ExpertInfo是什么?一文讲透异常分级、适用场景、和传统抓包阅读的区别与排查标准
网络·测试工具·wireshark·es