忽略Jmeter中的全局响应断言

时间:2017-12-15 14:28:37

标签: jmeter beanshell assertion

假设下面的结构:

Thread Group
      -Simple Controller
                   -Global Response Assertion
                   -Http Sampler1
                   -Http Sampler2
                   -Http Sampler3
                   -Http Sampler4
                    etc

因此全局响应断言将对其下的所有采样器起作用。但是,我需要一种方法让特定的采样器忽略全局断言,例如我希望HTTP sampler4不被全局断言声明并完全忽略它。

谢谢大家。

2 个答案:

答案 0 :(得分:1)

您可以重新排列结构,以便响应断言与HTTP采样器的级别不同,您不希望对其进行断言,如下所示。

Thread Group
  -Simple Controller
               -Global Response Assertion
               -Http Sampler1
               -Http Sampler2
               -Http Sampler3
  -Simple Controller
               -Http Sampler4
  -Simple Controller
               -Global Response Assertion
               -Http Sampler5
               -Http Sampler6
               -Http Sampler7
                etc

答案 1 :(得分:1)

鉴于您在标记中有beanshell,我的期望是您的Global Response AssertionBeanshell Assertion。如果是这样 - 您可以“忽略”Http Sampler4,如下所示:

if (SampleResult.getSampleLabel().equals("Http Sampler4")) {
    // do nothing
}
else {
    // your "global assertion" logic here 
}

另请注意JMeter中的starting from JMeter version 3.1 it is recommended to use Groovy for any form of scripting,因此请考虑在下一个可用机会上迁移到JSR223 Assertion

有关详细信息,请参阅Apache Groovy - Why and How You Should Use It指南。