制作一些失败请求的最佳做法会停止一个帖子,让其他人继续

时间:2015-07-13 18:03:22

标签: jmeter

我认为这是一种常见的情况,虽然我相信我有一个可行的解决方案,但感觉可能是更好的方式。

问题是我需要比Thread Group - 级Action to be taken after a Sampler error行为更精细的粒度。我的一些采样器表示会阻止在失败时进一步执行工作流的请求。在这些情况下,我不希望事先处理真实用户无法做出的后续请求,而是无论如何都会失败,我希望线程继续从头开始,继续进行下一个迭代循环。其他采样器代表即使其中一些失败也会继续发出的请求。在这些情况下,我希望线程继续前进。

我现在使用的方法很笨,但似乎有用,如下所示:在Thread-Group级别,我已将Action to be taken after a Sampler error设置为Continue。我认为这意味着默认情况下,如果Sampler失败,线程将继续执行下一条指令,直到它结束。

这会留下我想要在失败时阻止/暂停/重启工作流的请求。我找到的解决方案是使用Critical Actions

跟踪每个If Controller

Tree View

If Controller

如果上一个示例失败,则条件!${JMeterThread.last_sample_ok}应解析为true。在If Controller中,我有一个Test Action来停止执行并开始线程的下一个循环迭代:

Test Action

我假设Go to next loop iteration意味着启动线程,假设线程组设置了循环计数。

这个设置似乎有效,因为每次采样器失败时,线程都会从树的顶部开始,然后是If / Action组合。未被此块跟踪的采样器不会因故障而停止执行。

这个设置看起来也非常笨重,而且很烦人,因为我在整个地方复制粘贴这个失败的条件。是否有更优雅的方式来获得这种行为,或者我是否采用了或多或少正确的方式来做到这一点?谢谢!

1 个答案:

答案 0 :(得分:4)

你的解决方案很好,除了你说的复制/粘贴,所以解决方案是使用:

enter image description here

enter image description here