zoukankan      html  css  js  c++  java
  • 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;
    }
  • 相关阅读:
    Matlab矢量图图例函数quiverkey
    FVCOM泥沙模块河流边界处理
    高分辨率格式
    linux字节
    转:海洋地震采集
    海上地震勘探视频
    如何设置默认打印机
    如何查询是否正式刊物
    屏幕截图
    Word中文字与公式不对齐
  • 原文地址:https://www.cnblogs.com/xpp142857/p/7373652.html
Copyright © 2011-2022 走看看