在jmeter日志中获取nullpointer异常

时间:2015-11-08 16:37:42

标签: java jmeter

我正在尝试使用BSF后处理器将jmeter变量的值写入文件中,但如果我调用没有值的变量,则会出现错误

temp6 = vars.get("host_2_g1");  
out.write(temp6);

以下是我在jmeter日志文件中看到的消息

2015/11/08 21:47:29 WARN  - jmeter.extractor.BSFPostProcessor: Problem in BSF script org.apache.bsf.BSFException: BeanShell script error: Sourced file: inline evaluation of: // VALUES is the Reference Name in regex ext . . . '' : vars .get ( "host_2_g1" ) 

BSF信息:[script] at line:0 column:columnNo

我已经知道名称“host_2_g1”没有返回变量,我该如何处理它以至少我的代码工作?

1 个答案:

答案 0 :(得分:0)

您的脚本存在多个问题:

  1. out应为大写:OUT
  2. OUTPrintStream的简写。它不会写字符串,需要字节数组,所以你需要通过getBytes()方法将host_2_g1变量转换为字节数组
  3. 如果您的host_2_g1变量未设置 - 最好添加显式检查。
  4. 修改后的代码:

    temp6 = vars.get("host_2_g1");
    
    if (temp6 != null) {
        OUT.write(temp6.getBytes());
    }
    else {
        OUT.write("host_2_g1 is null".getBytes());
    }
    

    有关JMeter中Beanshell脚本的更多信息,请参阅How to Use BeanShell: JMeter's Favorite Built-in Component指南。