標籤:格式 line val -- throw put javascrip stp 代碼
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
【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處理指令碼