阅读文本大概需要3分钟。
0x01:BeanShell控制界面介绍
每次调用前重置bsh.Interpreter:可以选择True和False。如果此选项为True,则将为每个取样器重新创建解释器。
传递给Bean Shell的参数(=>String Parametersand String[] bsh.args):传递给BeanShell脚本的参数,参数存在以下变量中。
Parameters:整个参数字符串作为一个变量Parameters
bsh.args:用空格分隔的字符串被保存到变量数组bsh.args
文件名:包含BeanShell脚本的文件,文件名存在变量FileName中。
0x02:BeanShell常用变量
log :用于打印日志
log.info("This is log info!");
vars: 对变量进行读写操作
vars.get(key);
vars.put(key, val);
vars.putObject(“user”,new UserDto());
props: 直接访问及修改Jmeter的属性
props.get("START.HMS");
props.get("START.YMD"); //获取属性 START.YMD 的值(脚本启动日期)
props.get("log_level.jmeter");
props.put("customProp","1234");
props.put("log_level.jmeter","ERROR");
ctx: 访问上下文
prev: 访问之前取样器的结果
sampler: 访问当前取样器
0x03:在jmeter BeanShell中可以自定义类和方法,也可以调用外部已有的java文件、class 文件、jar 包
调用 java 文件
语法:
source(" java文件路径")
其中文件路径可以使用绝对路径,也可以使用相对路径。
示例:
source("D:\workspace\jmeter\src\jmeter\RsaUtil.java");
或者
source("RsaUtil.java"); //文件位于jmeter bin目录下
String password= RsaUtil.encrpty("keeplovejava");
调用 class 文件
语法:
addClassPath("class文件所在目录");
import 类名;
示例:
addClassPath("D:"); //可以是父级目录或者祖先级目录
import com.RsaUtil;
String password= RsaUtil.encrpty("keeplovejava");
引入class文件的path路径跟引入java文件不同,对比如下:
source("D:\workspace\jemter\src\jmeter\RsaUtil.java"); //使用绝对路径时必须要指定文件的完整路径。
addClassPath("D:"); //class文件只要在D盘中就可以,不一定在D盘根目录中,不用指定完整路径。
调用 jar 包
用法:
在测试计划中导入 jar包,或者提前把jar包放入 jmeter lib目录下并重启
import 类名;
示例:
import com.RsaUtil;
String password= RsaUtil.encrpty("keeplovejava");
参考:https://www.jianshu.com/p/7a69e1a3655e
☆
往期精彩
☆
关注我每天进步一点点
你点的在看,我都当成了喜欢