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