Jmeter - 运行少数用户时的java.lang.NullPointerException

时间:2014-01-07 10:22:16

标签: java apache jmeter

我一直在研究jmeter压力测试,发现了一个我无法解决的问题。

因此,如果我运行的测试计划与用户一起工作,我可以将其扩展到25个同时用户。

一旦我尝试使用26个用户使用任何加速,我会收到以下错误。

2014/01/06 11:17:19 ERROR - jmeter.threads.JMeterThread: Exception processing Assertion  java.lang.NullPointerException
    at org.apache.jmeter.assertions.ResponseAssertion.evaluateResponse(ResponseAssertion.java:329)
    at org.apache.jmeter.assertions.ResponseAssertion.getResult(ResponseAssertion.java:201)
    at org.apache.jmeter.threads.JMeterThread.processAssertion(JMeterThread.java:706)
    at org.apache.jmeter.threads.JMeterThread.checkAssertions(JMeterThread.java:677)
    at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:439)
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:256)
    at java.lang.Thread.run(Thread.java:722)

提前致谢

2 个答案:

答案 0 :(得分:0)

ResponseAssertion.java中的第329行如下:

       if (toCheck.length() == 0) {

其中toCheck可以是响应数据/ URL /代码/消息/标题/忽略状态

我希望你试图对null的某些东西执行断言,这就是它失败的原因。

最简单的调试方法是View Results Tree Listener。如果您的测试太重而且由于某些原因无法使用它,您可以尝试设置jmeter.save.saveservice.response_data.on_error=true属性。这可以在jmeter.properties文件中完成,该文件位于JMeter安装的“/ bin”文件夹下。如果您在non-GUI mode中运行JMeter,则可以通过-J命令行开关覆盖此属性,如下所示:

jmeter -Jjmeter.save.saveservice.response_data.on_error=true -n -t "path_to_your_JTL_file" -l "path_to_your_JTL_file"

检查结果JTL文件以获取故障响应详细信息。

您也可以尝试升级到JMeter 2.11 which has recently been announced,看看它是否可以解决您的问题。

但是,在完成上述操作之前,请仔细检查您的应用程序或Web或数据库服务器或负载均衡器或您使用的任何内容是否允许25个并发连接。

答案 1 :(得分:0)

升级到JMeter 2.11已修复: