【Jmeter】JMeter多线程保持登录状态--设置全局变量

转自:https://blog.csdn.net/Missshi/article/details/99954550

点击登录请求的响应信息头,找到Set-Cookie对应的JSESSIONID或者TOKEN变量名。

在登录请求下添加正则表达式提取器

利用jmeter自带的函数助手SetProperty,属性名称填写新的参数名,下面填正则表达式提取的变量

复制该函数字符串

再在登录请求下添加Bean Shell后置处理器(与正则表达式同级),粘贴

测试计划中添加Cookie管理器(与登录请求同级)

这样其他线程组运行时就不会提示“请登录”了

————————————————

版权声明:本文为CSDN博主「Missshi」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/Missshi/article/details/99954550


====================================================

jmeter跨线程自动获取登录SESSION

转自:https://blog.csdn.net/baidu_24984787/article/details/79883133

jmeter需要登陆的请求如何保持登陆:

1.同一线程组下请求,解决方法:添加登录请求、HTTP Cookie 管理器即可,可自动获取登录Cookie:SESSION=ZTg3YjFmMjctZWRhOS00NmM5LTg5ZmYtNWJlMTg1OGMwYjUy

缺点:只能使同一线程组下请求保持登录,不可跨线程组

另一种方法:打开浏览器登录并保持该网站登录状态,在线程组下添加HTTP信息头管理器,存储之前浏览器登录时获取的sessionid即可。

缺点:sessionid容易过期,不能自动获取需要每次手动更新cookie值

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

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

${__setProperty(newcookie,${oldcookie},)};设置全局变量newcookie

${__P(newcookie,)}引用全局变量newcookie

链接如下:

http://note.youdao.com/noteshare?id=f670ad6e707886a870333f7a85c58c85&sub=4CDA3D0BE7CC4E348934C6FC6CC3FE94

=======================

https://note.youdao.com/ynoteshare1/index.html?id=f670ad6e707886a870333f7a85c58c85&type=note

你可能感兴趣的:(【Jmeter】JMeter多线程保持登录状态--设置全局变量)