假设下面的结构:
Thread Group
-Simple Controller
-Global Response Assertion
-Http Sampler1
-Http Sampler2
-Http Sampler3
-Http Sampler4
etc
因此全局响应断言将对其下的所有采样器起作用。但是,我需要一种方法让特定的采样器忽略全局断言,例如我希望HTTP sampler4不被全局断言声明并完全忽略它。
谢谢大家。
答案 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 Assertion
是Beanshell 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指南。