如何跟踪线程中是否有任何JMeter请求失败?

时间:2017-09-07 12:24:07

标签: jmeter

我正在创建一个包含多个HTTP请求的JMeter测试计划。

使用JMeterThread.last_sample_ok跟踪失败的请求got answer here

由于有多个请求,我需要在每个HTTP请求之后添加此Beanshell sampler以标记失败的请求。

如果任何HTTP请求在给定线程中失败,是否有办法设置标志?

2 个答案:

答案 0 :(得分:2)

您可以添加.as-console-wrapper { max-height: 100% !important; top: 0; }BeanShell Listener,并在if语句下添加失败代码:

JSR223 Listener

JSR223 Listener将在每个Sampler之后执行代码并检查是否失败。

答案 1 :(得分:2)

  1. 您不需要采样器,需要Listener。听众正在遵守Scoping Rules因此,如果您将听众置于与您的所有请求(或更高)相同的级别,则它将应用于所有请求。
  2. 你不需要Beanshell,它是一种性能反模式,since JMeter 3.1 users are encouraged to use JSR223 Test Elements and Groovy用于任何脚本任务。查看Apache Groovy - Why and How You Should Use It文章了解更多信息,基准测试,Groovy最佳实践等。
  3. 您可以使用的示例代码如下:

    if (!prev.isSuccessful()) {
        log.info(sampler.getThreadName() + ' ' + sampler.getName() + ' has failed') 
    }
    

    演示:

    JMeter JSR223 Listener