jmeter-BeanShell预处理器与BeanShell后置处理器的使用

引言:BeanShell sampler 、BeanShell PreProcessor、BeanShell PostProcessor、BeanShell Listener都涉及到BeanShell,下面我们就介绍所有关于jmeter中要使用的变量:SampleResult、ResponseCode、ResponseMessage、IsSuccess、Label、FileName、ctx、vars、props、log;


一、jmeter中的beanShell的:log
log在beanshell中主要用来打印信息,可以的调用:error、info、warn;在jmeter的日志中即可查看;

log.info("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&111111111111111111111");
log.error("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&222222222222222222222");
log.warn("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&333333333333333333333");


二、vars的使用
vars变量是针对于所在运行线程的局部变量;与props与差异,props是全局属性,可跨线程;vars 只能保存String 或者Objec, props 是 Hashtable 对象;

vars.put(String key, String value) //存储value到变量key;

在beanshell中使用:vars.get(String key) //获取变量值;注意:在元件中获取vars变量的值,依然使用:${变量名};

下面就举例证明:

步骤一:使用用户自定义变量,准备数据:

步骤二:使用BeanShell sampler编辑脚本,传入刚刚准备的变量作为参数:

步骤三:在java请求或者http请求等其他元件中调用userName0的值;${变量名}

运行结果:

注意:vars接收的值必须是字符串类型, 若传递其他类型,包括null,都会报错;如果想使用数字,数字等类型,方法是做类型转换;例如:

vars.put("key1", "" + 1);
vars.put("key2", (String)1);
vars.put("key3", [2, 3, 4].toString());
vars.put("key4", (String)[1,2]);
vars.put("key4", "" + [2, 3, 4]);
vars.put("key5", "" + true);
vars.put("key6", true.toString());
vars还可以保存对象:

vars.putObject("objectName", Object);
三、props的使用
props是全局属性,可跨线程;props 保存 Hashtable 对象;保存的属性,要取到该属性的值,需要使用__P()函数助手;vars有的put、get方式,props都有;

下面简单举例:

在线程组2222中,使用:${__P(userName0,)}获取全局属性的值,运行结果:

另外,props判断某属性是否存在, 返回布尔值;

props.containsKey("PROPERTY_NAME")  
判断某项值是否存在,返回布尔值:

props.contains("PROPERTY_VALUE")
删除某个值:

props.remove("PROPERTY_NAME")
所有属性以字符串形式表示:

props.toString()
四、SampleResult、ResponseCode、ResponseMessage的使用


运行结果,可以看到,响应的信息里面,有我们设置的值;

五、BeanShell引入jar包,调用jar包的class
beanshell类似于java,可import导入jar包;

首先准备两个class,打成jar包(引用教程的包),放入jmeter安装目录下的lib目录下;这样jmeter就可以调用jar包里面的class;【这个jmeter提供了更多功能的可能性,你可以java开发出功能,导入jmeter这里使用;但是java能力、jar打包有点伤人……】

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值