使用浏览器录制jmeter脚本,这个不多说了,网上大把教程
http代理服务器配置(录制jmeter脚本):
jmeter提取登录cookie实现跨线程组保持登录:
1、新加一个线程组,将之前录制脚本的线程组下的非登录请求全部移动到新线程组下
2、开启一遍线程,查看结果树里的登录获取的cookie以及其他请求使用的cookie
得出结论,其他地方使用的cookie为:
Set-Cookie: SESSION=OTQwMjljOWItN2RiMS00OTFkLTlkNDAtNWMwZDFiZjA5ODdj; Path=/; HttpOnly
SESSION=OTQwMjljOWItN2RiMS00OTFkLTlkNDAtNWMwZDFiZjA5ODdj
3、在登录请求下新增正则表达式提取器
添加后置处理器中的正则表达式提取器
在此处正则表达式填写根据前一步的得到的结果
Set-Cookie: (.+?); Path=/; HttpOnly
填写说明:
要检查的响应字段:现在是需要从信息头中获取数据,所以现在选中“信息头”
引用名称:下一个请求要引用的参数名称,如填写logincookie,则可用${logincookie}引用它。
正则表达式:
():括起来的部分就是要提取的。
.:匹配任何字符串。
+:一次或多次。
?:在找到第一个匹配项后停止。
这里用到的是Cookie后面的值,所以只需要拿到登录接口返回的cookie中SESSIONID=E19055FDC13C1677B05AAE6C736A4A6E的值就好了
模板:用$$引用起来,如果在正则表达式中有多个正则表达式,则可以是$2$$3$等等,表示解析到的第几个值给title。如:$1$表示解析到的第1个值
匹配数字:0代表随机取值,1代表全部取值,通常情况下填0
缺省值:如果参数没有取得到值,那默认给一个值让它取。
4、设置跨线程组参数
添加后置处理器中的BeanShell PostProcessor处理器
parameters:参数填写和之前填写一致即可
通过函数对话框获取函数信息:
往脚本填充数据
5、其他线程组获取cookie
通过函数对话框获取函数信息:
往需要登录cookie的请求下的http信息头管理器添加cookie选项:
再次执行,即可实现
jmeter提取登录cookie实现跨线程组保持登录功能