当Jmeter中的HTTP请求返回错误时,记录堆栈跟踪

时间:2013-05-13 21:16:42

标签: jmeter load-testing beanshell

我想记录HTTP请求失败的所有错误消息。我将为1B用户运行线程组,我不想使用查看结果树,因为它记录了所有内容,日志文件将膨胀。
目前我正在使用Beanshell Assertion,如下所示。

if (Boolean.valueOf(vars.get("DEBUG"))) {

  if (ResponseCode.equals("200") == false) {
     log.info(SampleResult.getResponseMessage());
  log.info("There was some problem");
  }
}

但是在这种情况下它只是打印错误信息,但我有兴趣记录服务器返回的堆栈跟踪。

我在this thread

中也提到了这种方法
for (a: SampleResult.getAssertionResults()) {
   if (a.isError() || a.isFailure()) {
     log.error(Thread.currentThread().getName()+": "+SampleLabel+": Assertion failed for response: " + new String((byte[]) ResponseData));
   }
}

但在这种情况下,我没有从SampleResult.getAssertionResults()方法中获取对象,并且在HTTP请求失败的情况下它不会显示任何内容。

知道如何获取stacK跟踪吗?

1 个答案:

答案 0 :(得分:1)

我明白了。 SampleResult还有一个名为getResponseDataAsString()的方法。此方法返回响应消息。如果出现错误,则包含错误消息。