jmeter之beanshell使用

beanshell官网:http://www.BeanShell.org/

一.beanshell介绍

  • 是一种完全符合Java语法规范的轻量级的脚本语言;
  • 相当于一个小巧免费嵌入式的Java源代码解释器,可直接运行源代码,不需要编译,支持对象式的脚本语言特性;
  • 执行标准Java语句和表达式,,并且拥有自己的一些语法和方法;

1.常用操作变量

vars:BeanShell脚本使用“ vars ”变量的get()和put()方法存取JMeter 变量

  • vars.get("name"):从jmeter定义变量name中获得变量值,get(String key)方法只支持字符串值的变量
  • vars.put(String key,String value):获取到的值"value"存到变量"key"中,jmeter参数引用变量key获得值value
  • vars.putObject("obj",new Object()):用法同vars.put(String key,String value)方法

log:写入信息到jmeber.log文件,

  • log.info(“This is log info!”):用来记录日志文件,写入到jmeber.log文件,可以设置日志等级

 

prev:获取sample返回的信息,用于断言、关联下个接口

  • prev.getResponseDataAsString():获取响应信息
  • prev.getResponseCode() :获取响应code

 

2.beanshell用法

自定义函数

在BeanShell中,可以使用java语言来编写特定的逻辑,结合BeanShell的内置对象进行变量的存取,

 

引用外部java文件

在beanshel通过source("路径+文件名")方法引入java文件,路径使用两个\\,调用方法同java语法一样

 

引用外部class文件

用addClassPath("E:\\")方法引入 class文件,添加路径时使用“盘符:\\”即可,会自动搜索到class文件,用import导入包.类名,如下

 

引用外部Jar包

把jar包放到jmeter目录lib\ext下,或者直接引用jar包,如下图添加,用import导入包.类名

 

 

二.beanshell使用

1.定时器:BeanShell Timer

调用sleep()方法

 

2.前置处理器:BeanShell PreProcessor

可以对接口进行加密处理,如登录密码,加密后的字符串传入后端,后端也要有相应的解密处理

 

3.采样器:BeanShell Sampler

 

4.后置处理器:BeanShell PostProcessor

通过prev内置变量获取响应内容

  • prev.getResponseDataAsString():获取响应信息
  • prev.getResponseCode() :获取响应code

 

 

5.断言:BeanShell断言

通过Failure和FailureMessage来设置断言结果

  • Failure = false;  表示断言成功 
  • Failure = true;  表示断言失败
  • FailureMessage = "自定义返回断言结果消息";   

 

6.监听器:BeanShell Listener

 待续

 

posted @ 2019-08-21 11:53  cty136  阅读(1256)  评论(0编辑  收藏  举报