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

阅读文本大概需要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

往期精彩

01 漫谈发版哪些事,好课程推荐

02 Linux的常用最危险的命令

03 互联网支付系统整体架构详解

04 优秀的Java程序员必须了解的GC哪些

05 IT大企业有哪些病,别被这些病毁了自己?

关注我每天进步一点点

你点的在看,我都当成了喜欢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BUG弄潮儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值