1、什么是beahshell
BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法;
BeanShell是一种松散类型的脚本语言(这点和JS类似);
BeanShell是用Java写成的,一个小型的、免费的、可以下载的、嵌入式的Java源代码解释器,具有对象脚本语言特性,非常精简的解释器jar文件大小为175k。
BeanShell执行标准Java语句和表达式,另外包括一些脚本命令和语法。
2、beahshell类型
在jmeter中包括以下beahshell类型:
定时器: BeanShell Timer
前置处理器:BeanShell PreProcessor
采样器: BeanShell Sampler
后置处理器:BeanShell PostProcessor
断言: BeanShell断言
监听器: BeanShell Listener
3、beahshell的使用场景
场景1:业务单据参数化时要生成一组(多个时间,比如订单日期,发货日期等未来的时间),运用JMeter提供的时间函数并不能较好的完成。
场景2:测试Java接口,确又不想继承AbstractJavaSamplerClient 来完成,此时可以用BeanShell Sampler来完成。
场景3:线程共享变量,我们希望线程之间共享一个变量,可以利用BeanShell来完成。
场景4:对于接口返回的所有数据进行断言验证
3、beahshell案例
场景:访问百度首页,然后传递关键词参数,此时需要对关键词进行MD5加密
参数age已经在变量中进行了定义,但是没有进行加密,所以就需要添加一个加密处理。
此时在http请求中添加一个BeanShell PreProcessor前置处理。
方法:
1:在Java编辑器中编写MD5加密程序,代码如下:
import java.secu