1. 程式人生 > >BeanShell Processor_使用Java處理腳本

BeanShell Processor_使用Java處理腳本

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處理腳本