前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jmeter:Beanshell调用java代码的三种方式

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

作者头像
BUG弄潮儿
发布2020-06-15 16:44:51
1.8K0
发布2020-06-15 16:44:51
举报
文章被收录于专栏:JAVA乐园

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 BUG弄潮儿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档