Jmeter之Beanshell

BeanShell脚本主要通过vars和props去访问变量,常用方法:

  • vars.get(变量名):获取定义变量对应的值,含BeanShell脚本生成变量
  • vars.put(变量名,变量值):生成新的变量或修改已存在的变量
  • props.get(变量名):获取jmeter.properties中定义变量对应值
  • props.put(变量名,变量值):生成新的变量或修改已存在的变量

需要注意的是,vars只能操作本线程组的,props可以操作其他线程组的值,props只能put进去String类型的值,而不能是一个对象。get是获取变量的值,put是将值保存到变量中。

1、vars.get可以从元件中取值,也可以从当前文件中获得值。添加>取样器>BeanShell 取样器

定义变量a=111,b=222

获取a,b的值并赋值给aa和bb,再把aa和bb的值保存到c,d变量中;并从当前文件获得c的值

String aa=vars.get("a");
String bb=vars.get("b");
log.info(aa);

vars.put("c",aa);
vars.put("d",bb);

String o=vars.get("c");
log.info(o);

2、jmeter中查看日志使用log.info();如果是System.out.println();则需要在命令行窗口才能查看

3、vars.get无法访问其他线程组的值,会返回null(vars.put无法修改其他线程组的值)。添加>取样器>BeanShell 取样器

4、props.get可以访问其他线程组中的值(props.put可以修改其他线程组的值)。添加>取样器>BeanShell 取样器

5、prev:获取sample返回的信息,添加>取样器>BeanShell 后置处理器

getSamplerData() :获取请求内容

getResponseDataAsString(): 获取响应信息

getResponseCode(): 获取响应代码

6、ctx:解析请求的结果,添加>取样器>BeanShell 后置处理器

ctx.getPreviousResult()等同于prev;ctx的返回结果是SimpleResult,需要引用jar包

import org.apache.jmeter.samplers.SampleResult;

SampleResult result=ctx.getPreviousResult();
log.info(result.getRequestHeaders());
log.info(result.getResponseDataAsString());
log.info(result.getSamplerData());
log.info(result.getResponseCode());

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值