在Jmeter实际的使用中,根据业务往往需要构造一些数据源,比如虚拟用户的账号信息等,为了快速灵活,较好的方式往往是通过代码来辅助生产数据。

故在Jmeter支持的众多 sampler 或 前/后置处理器 中,一般借助 Beanshell(推荐) 或 JSR223 等来实现。(源码示例为随机生成中国地区的手机号)

对于 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 源码文件

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

#加载源码文件

source("/Users/hailongchen/Documents/workspace/hailongchen/src/main/java/utils/PhoneNoGenerateUtil.java");

#调用源码程序(略)

#使用 beanshell 存/取 变量

vars.put();

vars.get();

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

Demo如图示:

具体步骤参考:

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

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

启动 jmeter,在测试计划中,导入 jar 路径(该步骤可能不需要,可测试确认)

创建 beanshell 组件,按需引用源码(需要注意源码的 package 路径,图示为源码在 package 名称为 utils,类文件名称为 PhoneNoGenerateUtil)

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

java beanshell_jmeter进阶之Beanshell引用Java代码相关推荐

  1. Java高级进阶学习资料!java开发环境的搭建是什么意思

    1. static 和 final 的用法 static 的作用从三个方面来谈,分别是静态变量.静态方法.静态类. 静态变量:声明为 static 的静态变量实质上就是全局变量,当声明一个对象时,并不 ...

  2. Java高级进阶学习资料!Java虚拟机的垃圾回收机制

    Maven权威指南 首先,本书适合所有Java程序员阅读.由于自动化构建.依赖管理等问题并不只存在于Java世界,因此非Java程序员也能够从该书中获益.无论你是从未接触过Maven.还是已经用了Ma ...

  3. 数据结构与算法邹永林PDF_真香系列:耗时大半个月收整全套「Java架构进阶pdf」没白费,终于可以安心备战2021了!...

    2021就这么来了,马上就要开启备战今年的"金三银四"了.辛亏在2020的最后半月花了我大半个月时间收整了全套的「Java架构进阶pdf」,这一波下来,刷完你就会知道,真真香啊,我 ...

  4. 全套「Java架构进阶pdf」,助你技能飞速提升

    本文是来自本人的收藏,和自己从业几年的学习内容,拿出来分享给大家,共同学习进步.这一波下来,刷完你就会知道,真真香啊,我的心血果然,没白费! Java架构进阶之面试篇 Java架构进阶之技能导图篇 J ...

  5. Java进阶之 如何自动生成代码

    一.前言:为什么要有代码的自动生成?     对于这个问题 最简洁直接的回答就是:代替手动编写代码.提高工作效率. 什么样的场景和代码适合用自动生成这种方式呢?     做过Java服务端的朋友一定都 ...

  6. jmeter 使用BeanShell编写java代码提取请求参数

    之前在用jmeter写接口测试的时候,我想尽量把参数都设置成可变修改的,现在的大多数请求都会带上时间戳,于是,我用了两种方式提取可变的时间戳参数 1.直接在jmeter的GUI中,编写获取时间戳的方法 ...

  7. Java面向对象进阶

    相关额外的代码待上传... /*** 面向对象进阶*/ package com.org.lxh;import com.org.lxh.ext.Demo; import com.org.lxh.impl ...

  8. 面试官:说说Java对象的四种引用方式

    我们知道在Java中除了基础的数据类型以外,其它的都为引用类型. 而Java根据其生命周期的长短将引用类型又分为强引用.软引用.弱引用.幻象引用 . 正常情况下我们平时基本上我们只用到强引用类型,而其 ...

  9. Java小白进阶笔记(5)-进阶面向对象

    继续学习: 7.偏头痛杨的Java入门教学系列之进阶面向对象篇 上Java课的时候没弄明白接口,今天终于明白了(但没使用过,还停在理论的程度,可能理解也不准确,以后学通了会回来补充:)如果你刚学Jav ...

  10. Java泛型进阶篇: 无界通配符、上界通配符以及下界通配符

    专栏文章导航 Java泛型入门篇: 泛型类.泛型接口以及泛型方法 Java泛型进阶篇: 无界通配符.上界通配符以及下界通配符 Java泛型原理篇: 类型擦除以及桥接方法 文章目录 前言 1. 无界通配 ...

最新文章

  1. Python常用6个技术网站汇总分享!
  2. SAP UB类型的STO能自动创建交货单?
  3. 使用VC++输出调幅波的数值和波形
  4. tuxedo连接mysql_TUXEDO与INFORMIX数据库的互连
  5. 如何取得好的软件设计
  6. python爬虫数据可视化软件_python爬虫及数据可视化分析
  7. 英特尔CEO:将在行业整合背景下大力收购半导体企业
  8. Ubuntu中需要安装的
  9. 细说面试│产品经理面试快速上岸
  10. Ubuntu 制作离线软件安装包
  11. matlab高斯正反算程序6,基于matlab的高斯投影正反算与相邻带坐标换算程序设计...
  12. 【​观察】六脉神剑第二式-读写分离之双箭齐发
  13. CDH6 安装 Apache atlas
  14. 如何去掉“Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8” 提示,删环境变量都不好使
  15. 24.线程系列- google提供的一些好用的并发工具类
  16. 图像处理软件(基本功能都已实现,含源码)
  17. QGIS入门实验十六 迁徙图制作
  18. 有趣的第一人称和第三人称游戏
  19. 【Linux】基础特性与常见系统管理命令详解1
  20. 沃尔玛logo的历史

热门文章

  1. YYtext简单使用
  2. alpha-beta剪枝算法原理(附代码)
  3. 惠普HP ProDesk 400 G2 加装BCM94352HMB网卡
  4. 使用hydra离线破解windows密码
  5. 地球是圆的:《世界是平的》
  6. MRP专题二:计划策略(MTO)
  7. 教你win7如何共享打印机的详细教程
  8. 南京邮电大学c语言实验报告4,南京邮电大学软件设计实验报告..doc
  9. 南京邮电大学网络信息安全——软件漏洞分析与防范(实验一——栈溢出和gs保护机制)
  10. android+京东分类菜单,Android仿京东商品分类