【问题标题】:log stack trace when HTTP request return error in Jmeter当 HTTP 请求在 Jmeter 中返回错误时记录堆栈跟踪
【发布时间】:2013-05-14 11:00:47
【问题描述】:

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

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 请求失败的情况下它不会显示任何内容。

知道如何获取堆栈跟踪吗?

【问题讨论】:

    标签: jmeter load-testing beanshell


    【解决方案1】:

    我想通了。 SampleResult 还有另一种方法,称为 getResponseDataAsString()。此方法返回响应消息。如果出现错误,它包含错误消息。

    【讨论】:

      猜你喜欢
      • 2010-12-29
      • 2015-11-26
      • 2014-11-01
      • 1970-01-01
      • 2018-09-19
      • 1970-01-01
      • 2011-04-06
      • 1970-01-01
      • 2018-11-09
      相关资源
      最近更新 更多