Jmeter-BeanShell前置处理器、取样器、后置处理器

前置处理器:BeanShell PreProcessor
取样器 :      BeanShell Sampler
后置处理器:BeanShell PostProcessor

1、前置
import org.apache.jmeter.protocol.http.control.Cookie;
import org.apache.jmeter.protocol.http.control.CookieManager;

CookieManager manager = sampler.getCookieManager();
String token = "8def35aa-22bb-4f22-85e3-b1c1c9d6f1a9";

//定义Cookie对象,其中参数:cookie的名称, cookie值, cookie域, 路径, 安全 //注意域名的正确性,还想需配合HTTP Cookie管理器使用
Cookie cookie = new Cookie("userToken",token,"10.162.16.5","/",false,0);
manager.add(cookie);

2、取样器

vars.put("name","shuzhifu");
vars.get("name");
//调用jmeter内置log对象,日志会打印到jmeter.log中
log.info("shuzf");
log.info("isEnc:"+vars.get("name"));

//打印到控制台
print("shuzf");
print(vars.get("name"));
System.out.println(vars.get("name"));

//返回
return ("shuzf");
return vars.get("name");

3、后置
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

prev.setDataEncoding("UTF-8"); //处理乱码

//获取请求结果
String data=prev.getResponseDataAsString();
//请求结果构造成JSONObject对象
JSONObject json_data = JSON.parseObject(data);

//获取请求结果json某个值
String code = json_data.getString("code");

Jmeter中包括多种BeanShell,用法差不多,只是作用的地方不同。
定时器:  BeanShell Timer
前置处理器:BeanShell PreProcessor,提前处理请求参数,如:加密解密等
采样器:  BeanShell Sampler
后置处理器:BeanShell PostProcessor,在请求后对返回结果进行处理
断言:   BeanShell断言,验证返回结果的正确性
监听器:  BeanShell Listener

posted @ 2019-07-10 17:22  南方的墙  阅读(4079)  评论(0编辑  收藏  举报