我们在使用 JMeter 的时候,有时候会需要一些逻辑的运行,对此 JMeter 就有些乏力了。可以在 BeanShell 中通过 Java 代码来扩展功能。
20.1 什么是 BeanShell
BeanShell 是一个小型的 Java 源代码解释器,具有对象脚本语言特性。其能够动态执行标准 JAVA 语法,可以通过脚本来处理 Java 应用程序,还可以执行 JAVA 代码和 Java 代码片段,以及松散类型的 Java 和其他的脚本。BeanShe ll 是一种完全符合 Java 语法规范的脚本语言,并且拥有自己的一些语法和方法。
20.2 操作变量
通过使用 Bean shell 内 置对象 vars 可以对变量进行存取操作。
vars.get(”name”):从 JMeter 中获得变量值。
vars.put("key”,”value"):数据存到 JMeter 变量中 。
新建一个线程组,添加一个 BeanShell Sampler,添加一个 Debug Sampler 和一个“ 察看结果树。
在“ 察看结果树”中,我们可以通过 Debug Sampler 来查看变量的值。
20.3 JMeter 有哪些 BeanShell
JMeter 中包括多种 BeanShell, 用法基本都是一样的,只是作用的地方不同而己,可以都尝试一下看看 。
定时器 :BeanShell Timer 。
前置处理器 :BeanShell Pr巳Processor 。
采样器 :BeanShell Sampler 。
后置处理器:BeanShell PostProcessor 。
断言:BeanShell 断言。
监听器:BeanShell Listener 。
20.4 BeanShell 调用自己写的 jar 包进行 MD5 加密
具体操作步骤如下。
- 先在 Eclipse 中新建一个工程 ,工程名随便取
- 在工程中添加一个 class,class 名称叫 md5,代码如下:
- 将工程导出为一个 jar 文件,取名为 mymd5.jar
- 新建另 一个工程,取名为 mdStest,引入 mymd5.jar。测试一下 jar 包,确保 jar 包能被正确调用。允许成功后,说明 jar 包是可用的
- 将 mymdS.jar 复制到 JMeter 文件中的 apache-jmeter-3 .2\lib \ext 下面
- 启动 JMeter ,在测试计划中引入这个 jar 包
-
几位ter 中新建一个线程组,线程组中新建一个 BeanShell Sampler
-
在线程组下面添加一个 Debug Sampler。
-
在线程组下面添加一个察看结果树
参考
《HTTP 抓包实战》