应用场景:
将用户登录线程组获取的token设置为全局变量,供后续线程组使用。
因为性能测试或者接口测试,如果想跨线程引用,也就是A线程组里面的一个输出,是B线程组里面的一个输入,如果B线程想引用A线程的变量,就必须设置全局变量
思路:
1.使用正则表达式或者jp@gc - JSON/YAML Path Extractor提取token;
2.使用函数助手:setProperty函数生成脚本;
3.设置全局变量;
4.引用全局变量,进行测试。
实现:
用户登录接口返回的json响应结果格式如下所示
{
“msg”:“登录成功”,
“code”:“1”,
“data”:{
“userType”:“01”,
“accessToken”:“fadc8c84b548e7508a4b3f78489”
}
}
1、提取token
方法一、使用正则表达式提取token
方法二、使用jp@gc - JSON/YAML Path Extractor提取token
2、使用函数助手:setProperty函数生成脚本
Ctrl+shift+f1快捷键打开函数助手
选择setProperty函数
填写函数参数:第一个值是下一个线程引用的名称,第二个值是被设置全局的变量,第三个是默认值
点击“生成”,生成脚本
3、设置全局变量
方法一、使用BeanShell后置处理程序设置全局变量
复制步骤二函数助手生成的脚本,粘贴${__setProperty(access_token,{token},0000)}
方法二、使用BeanShell取样器设置全局变量
复制步骤二函数助手生成的脚本,粘贴${__setProperty(access_token,{token},0000)}
4、测试
创建线程组B,添加HTTP请求-获取用户信息,添加HTTP信息头管理器,将access_token参数设置成全局变量
${__property(access_token)}
校验全局变量是否生效
线程组A-用户登录
线程组B
线程组A和线程组B请求头使用的token一致,证明全局变量生效。