一 主要作用:
BeanShell PostProcessor 主要用来提取响应数据,对数据做处理分析的。
二 概念:
作用类似于后置处理器,其中的ctx、vars、props、prev、log都和BeanShell Sampler一样一样

重点解释前面没有的:
**data: 允许beanshell脚本通过data访问当前取样器的数据,映射SamplerResult中的getResponseData,相当于prev.getResponseData**
通过阅读源码可以知道,这个data是使用StringCoding.encoding("UTF-8")生成的,并转化成了字节码,所以使用它需要解码才能使用;
例如可以如下去使用:
```
String s = new String(data);
log.info(s);
```
三 基础案例:
需求:
```
- 使用log打印当前取样器的响应体数据data
String s = new String(data);
log.info(s); - 使用Java代码提取响应体的数据,并保存到JMeter变量
//提取code值200,并保存在jmeter变量code中
//使用正则
import java.util.regex.Matcher;
import java.util.regex.Pattern;
String pattern = "\"code\"\":\"(.+?)\"";
Pattern p = Pattern.complile(pattern);//创建正则对象
Matcher m = p.matcher(s); // 使用执勤的正则对象p匹配数据s
if (m.find(){
String code= m.group(1);
log.info(code);
vars.put("code",code);
}
```