我有一个具有以下结构的测试部件:
Test Part
-Correlator
--Debug Sampler
--Interleave Controller
---Page 1
---Page 2
----Response Assertion
---Page 3 (etc)
--Regular Expression Extractor
--Post Debug Sampler
当一切正常时,这工作正常,但我一直在添加断言来检查我收到的回复是否正确。线程组设置为在采样器故障时启动下一个循环。当第2页的Response Assertion失败时,下一个循环开始,但当它到达Interleave Controller时,它会直接跳到第3页,这会导致问题。
有没有办法在采样器故障时重置交错控制器状态?
由于
Willisterman
答案 0 :(得分:0)
这是预期的行为; Interleave控制器的设计就是这样工作的。无论从任何断言得到什么结果都无关紧要,它仍会移动到下一个循环列表中的下一个采样器。像这样:
Loop1将执行Page 1
Loop2将执行Page 2
Loop3将执行
Loop4将执行Page 1
Loop5将执行Page 2
Loop6将执行
Loop7将执行Page 1
...等
没有直接的方法 - 我知道 - 重置交错控制器的位置。相反,JMeter中有大量的逻辑控制器(If,While,For Each等)以及计数器甚至是beanshell逻辑,因此大多数事情都是可能的。