jmeter 之 BeanShell PostProcessor跨线程全局变量使用
BeanShell PostProcessor是用户对一些变量的操作,操作方法很灵活,大概原理是通过parameters传回来对象,然后在script中对对象进行操作
场景:从登陆接口中获取token,设置成全局变量让HTTP Header Manager能获取到,让其他所有线程都能拿到这个参数
1.在Test Plan下设置HTTP Header Manager,以及需要用的Header内容
2.建立一个线程放置登陆接口,并提取token设置成全局变量
提取token:
设置全局变量:把上一步提取的token通过Parametres:把需要操作的参数传递给Bean Shell PostProcessor。
- 前面提取出来的token的值,就把参数token写入Script: string Token=bsh.args[0]; 把Bean Shell PostProcessor接收到的参数值,赋值给某参数。0是第一个值。${__setProperty(requestToken,${Token},)}; 调用函数__setProperty,把Bean Shell PostProcessor中的参数Token的值赋值给requestToken,并设置requestToken为jmeter内置属性。
用函数助手获取__setProperty:
再用_P函数来引用:
这次脚本思路:
登陆只登陆一次获取token后然后对某个接口进行压测,对接口进行压测就要设置线程,频繁的多余掉去登陆接口会造成资源浪费
每天一点点,感受自己存在的意义。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通