在Jmeter实际的使用中,根据业务往往需要构造一些数据源,比如虚拟用户的账号信息等,为了快速灵活,较好的方式往往是通过代码来辅助生产数据。
故在Jmeter支持的众多 sampler 或 前/后置处理器 中,一般借助 Beanshell(推荐) 或 JSR223 等来实现。(源码示例为随机生成中国地区的手机号)

jmeter进阶之Beanshell引用Java代码
jmeter进阶之Beanshell引用Java代码

对于 Beanshell,一般调用 Java 源码的方式有三种:

  • 通过 beanshell sampler or PreProcesser or PostProcesser 直接进行 Java 编码
  • 通过 beanshell sampler or PreProcesser or PostProcesser 引入本地 Java 源码文件
  • 通过导入的 jar 包,在beanshell sampler or PreProcesser or PostProcesser 中进行源码的调用(推荐)

方法一:通过 beanshell sampler 直接进行 Java 编码

方法二:通过 beanshell 引入本地 Java 源码文件

jmeter进阶之Beanshell引用Java代码

如图示,先将源代码存放在本地的目录,然后通过 beanshell 的关键字加载之。

#加载源码文件
source("/Users/hailongchen/Documents/workspace/hailongchen/src/main/java/utils/PhoneNoGenerateUtil.java");
#调用源码程序(略)
#使用 beanshell 存/取 变量
vars.put();
vars.get();

方法三:通过导入的 jar 包,在beanshell sampler中进行源码的调用

Demo如图示:
jmeter进阶之Beanshell引用Java代码

具体步骤参考:

  1. 先通过 jdk 的命令或者借助 IDE 编译器的功能,生成 jar 包(一般不需要生成可执行 jar 包)

  2. 将 jar 包放入 jmeter 的目录,并修改 jmeter.properties 文件(自行度娘)

  3. 启动 jmeter,在测试计划中,导入 jar 路径(该步骤可能不需要,可测试确认)
    jmeter进阶之Beanshell引用Java代码

  4. 创建 beanshell 组件,按需引用源码(需要注意源码的 package 路径,图示为源码在 package 名称为 utils,类文件名称为 PhoneNoGenerateUtil)
    jmeter进阶之Beanshell引用Java代码

  5. 在 Beanshell 中调用 所引用 jar包的代码(见 demo)

相关文章:

  • 2022-12-23
  • 2022-02-07
  • 2021-10-26
  • 2022-12-23
  • 2021-07-24
  • 2022-01-16
猜你喜欢
  • 2022-12-23
  • 2021-05-30
  • 2021-07-31
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-09
相关资源
相似解决方案