BeanShell Processor_使用Java處理腳本
阿新 • • 發佈:2017-08-16
processor for cond integer style var import mpm ava
版權聲明:本文為博主原創文章,未經博主允許不得轉載。
【try-catch】
建議使用Try----Catch塊,這樣Java語句出現問題時,日誌更清晰;
try { //java代碼 } catch (Throwable ex) { log.error("something wrong in BeanShell PostProcessor", ex); throw ex; }
【獲取當前年月日時分秒毫秒】
如下示例:獲取當前年月日時分秒毫秒並構造成形如“2017-08-16T15:35:28.456Z”的形式;
import java.text.SimpleDateFormat;import java.util.Date; import java.util.Calendar; Calendar cal = Calendar.getInstance(); int YY = cal.get(Calendar.YEAR); int MM = cal.get(Calendar.MONTH) + 1; int DD = cal.get(Calendar.DATE); int HH = cal.get(Calendar.HOUR_OF_DAY); int MM = cal.get(Calendar.MINUTE); int SS = cal.get(Calendar.SECOND);int MI = cal.get(Calendar.MILLISECOND); vars.put("NowDate",DD+"T"+HH+":"+MM+":"+SS+"."+MI); //構造成請求中所需的時間格式
【對參數值進行數學運算】
如下示例:是一個對話腳本的片段,IF條件控制器使用“${__javaScript("${MessageNum}">0)}”作為條件,每發送一條消息,MessageNum -1,共發送10次後結束,下面使用BeanShell 後置處理器,在發送消息的請求後使用BeanShell 後置處理器MessageNum進行處理;
使用到的Java語句:
int tmpMessageNum = Integer.parseInt(StringValue); //string到int
String MessageNum = Integer.toString(tmpMessageNum); //int到string
try { String tmp = vars.get("MessageNum"); //獲取當前MessageNum值 int tmpMessageNum = Integer.parseInt(tmp); //string到int //如右語句在Jmeter中使用報錯,未解---Integer.valueOf(tmp).intValue(); tmpMessageNum = tmpMessageNum - 1; //處理完一條則剩余處理的條數少一條 String MessageNum = Integer.toString(tmpMessageNum); //int到string //log.info(MessageNum); vars.put("MessageNum",MessageNum); } catch (Throwable ex) { log.error("something wrong", ex); throw ex; }
BeanShell Processor_使用Java處理腳本