背景
很多情况下我们压测一个接口,需要在登录账号的前提下进行操作。
解决
获取并设置全局的cookie,添加到接口请求参数中。
步骤
- 添加setup线程组
- 设置登录接口的http请求取样器
- 添加后置处理器——正则表达式处理器,设置提取cookie
引用名称:ssotoken(即将引用的全局cookie变量名称)
正则表达式:Set-Cookie:(.+)
()__:表示将提取的部分内容
.__:匹配任何字符串
+__:一次或者多次
?__:在找到第一个匹配后停止
模板:用$1$引用起来,多个匹配值可用$1$2$3$表示,分别表示解析到的第几个值
匹配数字(0表示随机):0代表随机取值,1代表全部取值
缺省值:如果参数没有取到值,则为默认缺省值
- 添加后置处理器——BeanShell PostProcessor,设置全局cookie
参数:${ssotoken}(即为正则提取器填写的变量名称)
Script:
语法格式:${__setProperty(其他线程引用的变量名,${正则提取器填写的变量名称},)};
5.在要测试的目标接口的请求头参数中添加全局cookie
语法:Cookie:${__property(newtoken)}
${__property(BeanShell处理器设置的参数变量)}