JMeter循环直到响应值发生变化

use*_*188 7 jmeter

我想使用JMeter完成以下工作流程

  • 从URL调用中获取结果(例如:http://somewhere.com/getResults)
  • 如果响应消息包含"someVar = SUCCESS",则JMeter测试将通过
  • 否则,如果响应消息包含"someVar = FAIL",则JMeter测试将失败
  • 否则,如果响应消息不同,请等待x秒并再次尝试代码块.尝试重试代码块最多y次.

在JMeter中可以这样吗?如果是这样,有没有人有一个例子?

Dmi*_*i T 2

最直接的方法是使用JMeter Assertions。

其中最强大的是Beanshell Assertion。

对于您的用例,以下代码示例可能会有所帮助:

if new String(data).contains("someVar=SUCCESS")
    Failure = false;
else
    Failure = true;
Run Code Online (Sandbox Code Playgroud)

同样对于FAIL

为了重试,您可以使用While 控制器,使用一些变量作为条件,例如continue设置为true。如果没问题的话,可以根据需要重试多次 - 只需将continue变量设置为false。