
正文
BeanShell Processor_使用Java处理脚本
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
版权声明:本文为博主原创文章,未经博主允许不得转载。
【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;
}







