• jmeter-beanshell-Typed variable declaration


    遇到的问题:

    jmeter 在使用beanshell  PreProcessor  前置处理器时,编写了以下脚本,执行后log 日志中报错

    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    //获取当前月份
    log.info("获取日期。。。。。。");
    Calendar c = Calendar.getInstance();
    String getCurrent=new SimpleDateFormat("yyyy-MM ").format(c.getTime());
    vars.put("getCurrent",getCurrent);
    String getYear= c.get(Calendar.YEAR);//获取当前年
    vars.put("getYear",getYear);
    String getMonth=c.get(Calendar.MONTH) + 1;
    vars.put("getMonth",getMonth);   
    String a=vars.get("getCurrent") ;
    log.info("getCurrent     "+a);
    // 一年内的第xx周//获取当前星期是第几周
    //  System.out.println("当前时间的年周数:" + c.get(Calendar.WEEK_OF_YEAR));

    报错信息如下:

    2021-10-13 08:55:05,846 INFO o.a.j.u.BeanShellTestElement: 获取日期。。。。。。
    2021-10-13 08:55:05,848 ERROR o.a.j.u.BeanShellInterpreter: Error invoking bsh method: eval    Sourced file: inline evaluation of: ``import java.text.SimpleDateFormat; import java.util.Calendar; //获取当前月份 log.info( . . . '' : Typed variable declaration
    2021-10-13 08:55:05,848 WARN o.a.j.m.BeanShellPreProcessor: Problem in BeanShell script. org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval    Sourced file: inline evaluation of: ``import java.text.SimpleDateFormat; import java.util.Calendar; //获取当前月份 log.info( . . . '' : Typed variable declaration

     

    搜索到的解决办法:

    1.beanshell  PreProcessor   代码中有空行 ----未解决我的问题

    2.log语句不能有空格,也不能把加号变为别的符号,改成如下的样式就正常了。 log.info("url:"+url);   --未解决我的问题

    3.未加try…catch造成的。所执行的代码有异常,但异常未进行捕获处理。--成功解决了我的问题

    修改后的代码如下:

    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    //获取当前月份
    try{
    log.info("获取日期。。。。。。");
    Calendar c = Calendar.getInstance();
    String getCurrent=new SimpleDateFormat("yyyy-MM ").format(c.getTime());
    vars.put("getCurrent",getCurrent);
    String getYear= c.get(Calendar.YEAR);//获取当前年
    vars.put("getYear",getYear);
    String getMonth=c.get(Calendar.MONTH) + 1;
    vars.put("getMonth",getMonth);   
    String a=vars.get("getCurrent") ;
    log.info("getCurrent:"+a);
    System.out.println(a);
    // 一年内的第xx周//获取当前星期是第几周
    //  System.out.println("当前时间的年周数:" + c.get(Calendar.WEEK_OF_YEAR));
    }
    catch(Exception e){
        FailureMessage = "获取日期信息异常";
        Failure = true;
    }

    记录一下

  • 相关阅读:
    C#实现MD5加密,winform c#2005
    关于 "基础连接已经关闭:接收时发生意外错误"
    SERVERPROPERTY方法说明
    Web 设计与开发终极资源大全(上)
    SQL Server:在 SQL Server 2005 中配置数据库邮件,发送邮件
    Web 地理定位(GeoLocation)知识大全
    sql server2005 创建作业问题
    SQL Server 监视事件
    Remoting 如何穿越防火墙
    使用SQL SERVER 2000的全文检索功能
  • 原文地址:https://www.cnblogs.com/eosclover/p/15400772.html
Copyright © 2020-2023  润新知