jmeter的全局变量与局部变量

论坛 期权论坛 脚本     
匿名技术用户   2020-12-28 19:37   458   0

各线程组之间的变量要互享,就要把变量(提取器取出来的)放在测试计划中,然后直接用时如此写:${测试计划中的变量名}。

目前先了解下beanshell的内置变量:vars,props,log。vars一般就是局部变量,同线程组间变量共享。

提取器之后,beanshell中的内容如下:

//局部变量转为全局变量
//设置全局变量方法一:用函数__setProperty设置
${__setProperty(globalPrameter,${localPrameter},)};
//设置全局变量方法二:用内置对象props设置
props.put("globalPrameter2","${localPrameter}");


//全局变量不能直接使用.如${globalPrameter},是错的,是取不到值的
//而要要用如下方式取。在脚本中使用时,用前两种方式取后放在测试计划的用户自定义参数中,然后再使用
log.info("获取全局变量的值,方法一:"+"${__property(globalPrameter,,)}");
log.info("获取全局变量的值,方法二:"+"${__P(globalPrameter,)}");
log.info("获取全局变量的值,方法三:"+props.get("globalPrameter"));

//获取全局变量的值
String globalPrameter2 = props.get("globalPrameter2");
//设置全局变量的值
props.put("globalPrameter2",globalPrameter2);
log.info("查看设置的全局变量:"+props.get("globalPrameter2"));

//获取局部变量的值
String localPrameter2 = vars.get("localPrameter");
//设置局部变量的值
vars.put("localPrameter2","zzzz");
log.info("查看设置的局部变量:"+localPrameter2);

提取器:

beanshell(代码内容见以上):

测试计划中设置变量。

数据流向为:请求响应数据--》提取器(实际为局部变量)--》转为全局变量---》测试计划中变量--》其它线程中使用:

其它线程组中使用:

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP