反骨仔

一个业余的 .NET Core 攻城狮

0%

20 JMeter 中 Bean Shell 的用法

我们在使用 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 和一个“ 察看结果树。

image-20210113010051381

在“ 察看结果树”中,我们可以通过 Debug Sampler 来查看变量的值。

image-20210113012931725

20.3 JMeter 有哪些 BeanShell

JMeter 中包括多种 BeanShell, 用法基本都是一样的,只是作用的地方不同而己,可以都尝试一下看看 。

定时器 :BeanShell Timer 。

前置处理器 :BeanShell Pr巳Processor 。

采样器 :BeanShell Sampler 。

后置处理器:BeanShell PostProcessor 。

断言:BeanShell 断言。

监听器:BeanShell Listener 。

20.4 BeanShell 调用自己写的 jar 包进行 MD5 加密

具体操作步骤如下。

  1. 先在 Eclipse 中新建一个工程 ,工程名随便取
  2. 在工程中添加一个 class,class 名称叫 md5,代码如下:

image-20210113013138656

image-20210113013152112

  1. 将工程导出为一个 jar 文件,取名为 mymd5.jar
  2. 新建另 一个工程,取名为 mdStest,引入 mymd5.jar。测试一下 jar 包,确保 jar 包能被正确调用。允许成功后,说明 jar 包是可用的

image-20210113013244677

  1. 将 mymdS.jar 复制到 JMeter 文件中的 apache-jmeter-3 .2\lib \ext 下面
  2. 启动 JMeter ,在测试计划中引入这个 jar 包

image-20210113013322558

  1. 几位ter 中新建一个线程组,线程组中新建一个 BeanShell Sampler

  2. 在线程组下面添加一个 Debug Sampler。

  3. 在线程组下面添加一个察看结果树

image-20210113013401765

image-20210113013414818

参考

《HTTP 抓包实战》