目录
1、使用场景:用BeanShell脚本语言来访问及设置JMeter的属性,访问及设置变量,还可用来记录日志。如用BeanShell来设置线程延迟间隔。
2、相关参数
Reset Interpreter:每次迭代是否重置解析器,默认为false;在长时间运行的脚本中建议设置为true。
Parameters:BeanShell脚本的入参。入参可以是单个变量;也可以是数组,若是字符串数组,两个元素之间用空格隔开;也可以是常量。
File Name:BeanShell脚本可以从脚本文件中读取。
Script:在Script区直接写BeanShell脚本。在脚本中可以调用Jmeter的运行属性。如:
log:直接调用log类来写日志。如调用log.error()写日志或log.info()。可以设置以下日志级别: FATAL_ERROR,ERROR, WARN, INFO,DEBUG,其中FATAL_ERROR打印日志最少,DEBUG级别日志最详细。 log_level.jmeter=INFO,INFO级别,只有等于及高于这个级别的才打印日志,如果配置为INFO只显示INFO,WARN, ERROR的log信息,而DEBUG信息不会被显示。
ctx:可通过获取JmeterContent实例来获取运行时信息,如获取线程号:log.error(ctx.getThreadNum().toString())。
vars:能访问Jmeter中定义的变量,获取值,如vars.get(String key);也可以设置变量值,如 vars.put("company","www.roadtest.org");同时company变量还可以被其他元件调用。
props:可以直接访问Jmeter的属性,也可以设置Jmeter属性。获取Jmeter当前的日志:props.get("log_level.jmeter") 级别;然后修改日志级别为ERROR:props.put("log_level.jmeter","ERROR");再打印即是ERROR级别: log.error(props.get("log_level.jmeter"))。
Prev:可以访问前面Sampler的结果,如getResponseDataAsString()和getResponseCode(),可以参考
https://www.jianshu.com/p/2341b901cd4a,https://blog.csdn.net/wx19900503/article/details/79206382