一、什么是Bean shell以及实际工作应用场景

bean shell是一种符合java语法的脚本语言,同时它也有自己的语法和方法。

工作应用场景:

1.需要做复杂的逻辑或者业务场景的判断,可以引用开发编写好的jar包实现功能。

2.数据库断言。

3.跨线程组共享变量。

jmeter中的Beanshell类型。

取样器beanshell //可以在后面添加beanshell元件搭配prev语句搭配使用,打印log进行调试;prev语法见下文。

前置处理器beanshell

后置处理器beanshell

定时器beanshell

断言beanshell

监听器beanshell

二、Bean Shell它自己的语法和方法

--主要每句后加英文分号代表语句结束,否则会报语法错误

1.log打印日志

信息日志

错误日志:

控制台日志:

//打印信息日志
log.info("这是我的第一个beanshell脚本");
log.error("这是一条报错的日志");
System.out.println("控制台日志");

2.vars全称为JmeterVariables,表示jmeter变量。 //vars的变量作用域在同一线程组,不可跨线程组

vars.put(key,value); 存储一个变量

vars.get(key); 获得一个变量

//jmeter变量
vars.put(key,value);
log.info(vars.put(key,value));

3.props用于存取jmeter全部变量(属性),这个全局变量是可以跨线程组的。 //用法同vars

props.put(key,value); 存储一个变量

props.get(key); 获得一个变量

4.prev获取前面的取样器返回的数据

//获取到第一个接口的返回码和返回数据
log.info(prev.getResponseCode())
log.info(prev.getResponseDataAsString())

三、Bean shell常用场景之引用java文件。

beanshell 调用java文件中的方法,

//在beanshell里面调用MyClass. java文件中的方法。
//引入java文件
source("E:\\MyClass.java");   //E:\\MyClass.java为本地的java文件
//直接调用MyC1ass.java中的类生成对象,并且通过这个对象调用里面的方法
int he = new Myclass(.sum (10,20);
//打印
log.info("---------:"+he);

beanshell调用jar文件中的方法。

方式一:jemeter如何引入jar文件

首先在测试计划--最下面有添加目录或jar包到ClassPass--点击浏览,找到要引用的jar包导入

//在beanshell里面调用MyClass.jar包中的方法。
//导入java文件。
import common.Myclass;    //common.Myclass详解:common是包名,Myclass是类名
//直接调用MyClass.jar中的类生成对象,并且通过这个对象调用里面的方法
int he = new MyClass().sum(10,20);
//打印
log.info("-------:"+he)

方式二:把jar文件放到jmeter/lib/ext目录下。重启jmeter即可使用beanshell封装import调用jar包内的方法

四、其他操作

自定义函数

调用外部class文件

加密方法

精通Jmeter:懂一些java语法

精通postman:懂一些javascript语法

五、Jmeter其他实用小技巧:

1.调试取样器(取样器--Debug Sampler)的结果是可以直接在查看结果树里查看的

2.调试取样器和beanshell取样器的结果都可以在后面使用beanshell语句进行处理。//取样器要在线程组添加

jmeter beanshell处理 java jmeter中beanshell用法_java