0
点赞
收藏
分享

微信扫一扫

Jmeter:Beanshell调用java代码的三种方式


阅读文本大概需要3分钟。

0x01:BeanShell控制界面介绍

Jmeter:Beanshell调用java代码的三种方式_class

  • 每次调用前重置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");


关注我每天进步一点点

Jmeter:Beanshell调用java代码的三种方式_class_02


举报

相关推荐

0 条评论