前置處理器:BeanShell PreProcessor
取樣器 :BeanShell Sampler
后置處理器:BeanShell PostProcessor1、前置
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