码迷,mamicode.com
首页 > 编程语言 > 详细

BeanShell Processor_使用Java处理脚本

时间:2017-08-16 17:09:30      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:格式   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处理脚本

标签:格式   line   val   --   throw   put   javascrip   stp   代码   

原文地址:http://www.cnblogs.com/xpp142857/p/7373652.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!