1、同一线程下请求:
解决方法一:添加登录请求、HTTP Cookie 管理器即可,可自动获取登录
Set-Cookie: JSESSIONID=fb65f75b-857d-4647-a716-c9fd3fad8d6f; Path=/; HttpOnly
缺点:只能使同一线程组下请求保持登录,不可跨线程组


方法二:打开浏览器登录并保持该网站登录状态,在线程组下添加HTTP信息头管理器,存储之前浏览器登录时获取的sessionid即可。
缺点:sessionid容易过期,不能自动获取需要每次手动更新cookie值


方法三:添加正则表达式,将cookie值传递给HTTP信息头管理器(只能同一线程组下引用)
提取正则表达式:

修改HTTP信息头的值:

重点 :
解决跨线程组登录并自动获取sessionid的问题:需要设置jmeter全局变量并调用。使用正则表达式获取sessionid,BeanShell PostProcessor设置全局变量,HTTP信息头管理器引用全局变量(跨线程组传递cookies值)
${__setProperty(newcookie,${oldcookie},)};设置全局变量newcookie
${__P(newcookie,)}引用全局变量newcookie
正则表达式:

添加全局变量:


执行查看:【成功】

参考的别人的,然后自己在操作并记录了下来。
本文介绍在JMeter中保持会话状态的三种方法,包括使用HTTPCookie管理器、正则表达式及BeanShellPostProcessor设置全局变量,实现跨线程组自动获取sessionid,以确保稳定登录状态。

被折叠的 条评论
为什么被折叠?



