我想在Thread Group中的一个Sampler错误之后配置一些类似于Action的东西,但是在Loop Controller级别。
例如,如果一个Sampler失败,而不是Start Next Thread Loop,我想启动Next Loop Controller Loop,我认为这可以使用groovy + JMeter属性实现,但我找不到正确的方法来做到这一点
答案 0 :(得分:1)
从这个人那里尝试直到控制器 - http://www.testautomationguru.com/jmeter-until-controller/。 这应该有所帮助。
答案 1 :(得分:0)
您可以使用While循环代替Loop Controller使用While Controller
初始化计数器并使用beanshell sampler将其值设置为1,在while循环开始之前保留此采样器
添加以下代码
vars.put("计数器"" 1&#34);
$ {__使用Javascript(parseInt函数($ {计数器})< = 15,)}
int counter = Integer.parseInt(vars.get(" counter"))+1; vars.put("计数器",Integer.toString(计数器));
While循环中的下一个采样器嵌入了if条件
$ {JMeterThread.last_sample_ok}
如下所示您必须为每个采样器执行此操作,因为我们可能不知道错误发生的位置。
在我的情况下,无论错误如何,我都希望运行循环15次,即使在收到错误后也可以看到它执行了15次
有关While控制器关注this link..
的详细信息请告诉我它是否有帮助..
答案 2 :(得分:0)
最简单的方法是使用If Controller。
${JMeterThread.last_sample_ok}
作为If控制条件就是这样,现在如果Controller的子节点仅在前一个采样器成功时执行,否则它将是下一个Loop Controller迭代。
正如您从上面的演示中看到的那样Some Other Sampler
仅在Some Sampler
成功时执行。