【JMeter】JMeter实现跨线程组共享cookie
Jmter实现跨线程组共享cookie
场景:
测试需要登录的接口时,只需要在一个线程组中添加http cookie管理器就可以实现。
此时进行压测,比如用户并发数100 ,相当于调用100次登录接口和100次需测试接口。但是在实际场景中,只需要调用1次登录接口,此时需要把登录和被测接口的线程分开,并实现多线程共享cookie。
解决方法
-
创建setup线程,添加登录的http请求、添加察看结果树,执行后在结果树中查看登录接口返回的cookie。返回形式有两种:Response headers、Response body。本文讲解返回的cookie在Response headers中。有些会用token ,返回在response body。
-
在登录的http请求下创建后置处理器- -正则表达式提取器,提取headers中的cookie信息。
引用名称: jsession
正则表达式: Set-Cookie:(.*)
模板: $ 1$
匹配数字: 1
缺省值: error
- 添加取样器-调试取样器,用于校验正则表达式取到的cookie是否正确。( 运行后可查看到)
- 确认cokkie取值正确后,在登录请求下添加后置处理--BeanShel后置处理程序。将cookie值改为全局量,如图。
格式: $ {_ setProperty(转换成全局变量后的引用名 ,${正则表达式定义的变量名},)}
- 以上完成登录的线程组后,添加第2个线程组,添加被测接口的http请求,添加配置元件-http信息头管理器,设置cookie的值: ${_ _property(JSESSIONID)。
这一步在其他教程上看到过是添加在http cookie管理器中,但是我没有实现。
- 设置登录的线程数1 ,需测试接[的线程数2 ,运行后可看到被测接口的Request Body中有Cookie Data ,并且值与登录接口返回的信息头中的set-Cookie-致。
作者: 是小鱼呀
出处:https://www.cnblogs.com/sophia12138/p/15829333.html
本站使用「CC BY 4.0」创作共享协议,转载请在文章明显位置注明作者及出处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)