我一直在研究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)
提前致谢
答案 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已修复: