一 主要作用:
BeanShell PostProcessor 主要用来提取响应数据,对数据做处理分析的。
二 概念:
作用类似于后置处理器,其中的ctx、vars、props、prev、log都和BeanShell Sampler一样一样![image.png](https://fynotefile.oss-cn-zhangjiakou.aliyuncs.com/fynote/fyfile/16194/1663307082040/f1a46708c4ae40229e892abaf6985a72.png)
重点解释前面没有的:
**data: 允许beanshell脚本通过data访问当前取样器的数据,映射SamplerResult中的getResponseData,相当于prev.getResponseData**
通过阅读源码可以知道,这个data是使用StringCoding.encoding("UTF-8")生成的,并转化成了字节码,所以使用它需要解码才能使用;
例如可以如下去使用:
``` String s = new String(data); log.info(s); ```
三 基础案例:
需求:``` 1. 使用log打印当前取样器的响应体数据data String s = new String(data); log.info(s); 2. 使用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); } ``` 标签:code,String,后置,使用,BeanShell,PostProcessor,data,log From: https://www.cnblogs.com/yongheng999/p/18054013