jmeter脚本开发:Beanshell(八)

一. Beanshell介绍

一个小型的、免费、可嵌入java源解释器

执行java语法和表达式

Beanshell运行效率不高,官方推荐:JSR233 + Groovy,可以大大提高性能,减少资源消耗

二. Beanshell能干什么

引入自己的jar,实现增强功能

引入jmeter本身jar,扩展功能

写java代码,实现自己的逻辑功能

跨线程组传值

三. Beanshell组成

元件 名称
Beanshell Sampler Beanshell取样器
Beanshell Assertion Beanshell断言
Beanshell Preprocessor Beanshell前置处理器
Beanshell Postprocessor Beanshell后置处理器
Beanshell Timer Beanshell计时器
Beanshell Listener Beanshell监听器

四. Beanshell内置变量

变量 用途
log 写入信息到控制台帮助调试,log.info()
vars 操作变量,生成/更新/获取当前脚本的变量:vars.get(),vars.put()
prev 获取当前请求的结果:prev.get()
props 获取jmeter属性,生成/更新/获取当前脚本的jmeter属性:props.get(),props.put()
ctx 获取当前线程的上下文
SampleResult 获取SampleResult对象
Response 获取Response对象
Failure 查看是否成功,false是成功,true失败
FailureMessage 失败信息,set设置失败信息
ResponseData 获取response body
ResponseCode 获取返回的code值
ResponseMessage 获取返回的msg内容
ReponseHeaders 获取服务器返回的头部信息
RequestHeaders 获取用户端请求的头部信息
SamplerData 获取请求的url和body

五. Beanshell使用方式

1. 单语句,比如赋值语句和log语句

2. 定义方法, 调用方法

3. 引入本地java代码文件

#加载源码文件
source("/Users/hailongchen/Documents/workspace/hailongchen/src/main/java/utils/PhoneNoGenerateUtil.java");
#调用源码程序(略)
#使用 beanshell 存/取 变量
vars.put();
vars.get();

4. 引入jar包

原文地址:https://www.cnblogs.com/my_captain/p/11749439.html