在进行接口测试的时候,有些接口在处理相对复杂,可能需要测试人员写脚本进行处理,这时可能就需要使用到BeanShell ;
Jmeter 是支持BeanShell 脚本语言;
一、什么是BeanShell
Beanshell (bsh) 是用Java写成的,一个小型的、免费的、可以下载的、嵌入式的Java源代码解释器,具有对象脚本语言特性。
二、Jmeter有哪些Bean Shell
定时器: BeanShell Timer
前置处理器:BeanShell PreProcessor
采样器: BeanShell Sampler
后置处理器:BeanShell PostProcessor
断言: BeanShell断言
监听器: BeanShell Listener
三、BeanShell的常见用法
3.1 通过Beanshell取样器,输出日志信息
操作步骤:
1、添加Beanshell 取样器
2、在Beanshell取样器中设置要跟踪的参数
如果要跟踪的是用户自定义变量的取值,则进行如下操作:
先自定义用户变量
在取样器中对变量进行设置
3.2 通过利用BeanShell取样器设置请求发送的参数。
操作步骤:
1、添加beanshell取样器,在取样器中使用vars.put()函数定义变量并设置变量的值
BeanShell中的两个函数:
vars.get("name"):从jmeter中获得变量值
vars.put("key","value"):数据存到jmeter变量中
2、添加HTTP请求,在HTTP请求中,将请求的参数值设置为变量值
以百度搜索请求为例:
3、查看结果,搜索的关键字发生了变化
3.3 BeanShell 使用自定义函数
在Beanshell取样器中自定义函数,如下所示:
执行结果
3.4 调用外部java文件
先编写java代码文件,进行保存,如下所示:
在BeanShell脚本中进行引用
3.5 引用jar包
1、在eclipse写好代码,然后把该类打成jar包(在类上点击右键->Export->jar file)
2、把jar包放到jmeter目录\lib\ext下
3、打开jmeter,添加一个http sampler,在sampler下添加一个BeanShell Sampler
4、在BeanShell中的头文件中导入该jar包