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

如何跟踪线程中的任何JMeter请求是否失败?,jmeter,Jmeter,我正在创建一个包含多个HTTP请求的JMeter测试计划 要跟踪失败的请求,请使用JMeterThread.last_sample_ok 由于存在多个请求,我需要在每个HTTP请求之后添加此Beanshell sampler,以关闭失败的请求 如果HTTP请求在给定线程中失败,是否有方法设置标志?您可以添加BeanShell Listener或JSR223 Listener,并在if语句下添加失败代码: if (vars.get("JMeterThread.last_sample_ok") ==

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

要跟踪失败的请求,请使用
JMeterThread.last_sample_ok

由于存在多个请求,我需要在每个HTTP请求之后添加此
Beanshell sampler
,以关闭失败的请求


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

您可以添加
BeanShell Listener
JSR223 Listener
,并在if语句下添加失败代码:

if (vars.get("JMeterThread.last_sample_ok") == "false") {
   ....

}

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

您可以添加
BeanShell Listener
JSR223 Listener
,并在if语句下添加失败代码:

if (vars.get("JMeterThread.last_sample_ok") == "false") {
   ....

}
JSR223侦听器将在每个采样器之后执行代码,并检查是否失败

  • 你不需要取样器,你需要。因此,如果您将一个侦听器置于与所有请求相同的级别(或更高级别),它将应用于所有请求
  • 您不需要Beanshell,它是一种性能反模式,适用于任何脚本任务。查看本文以获得更多信息、基准测试、Groovy最佳实践等
  • 您可以使用的示例代码如下:

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

  • 你不需要取样器,你需要。因此,如果您将一个侦听器置于与所有请求相同的级别(或更高级别),它将应用于所有请求
  • 您不需要Beanshell,它是一种性能反模式,适用于任何脚本任务。查看本文以获得更多信息、基准测试、Groovy最佳实践等
  • 您可以使用的示例代码如下:

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