0

我想发布一些批量消息。系统需要一些时间来处理它们,所以我不想进行第二次迭代。我的设置是这样的 While controller->jdbc request->beanshell postprocessor

在 While 控制器中,条件是 ${__java script("${check_1}" != "0")} check 是作为数据库采样器一部分的变量名称,它检查是否所有消息都已处理。它是一个计数,如果它是 0,我们必须停止循环。作为 Bean Shell 后处理器的一部分,如果计数不等于 0,我添加了一个等待条件。

if(${check_1} != 0) {
    out("check Count not zero, waiting for 5 sec " + ${check_1});
    Thread.sleep(5000);
}else
    out("check Count is zero " + ${check_1});

发生的事情是,结果是这样的如果 check_1 > 0 ,它会等待 5 秒,一旦它为 0,它就会通过多次执行采样器进入无限循环

是不是条件有问题。请建议您是否有任何其他解决方案。

4

1 回答 1

0
  1. 使用__javaScript()函数和定义条件的正确方法是:

    ${__javaScript(${check_1} != 0,)}
    
  2. 从 Beanshell 访问 JMeter 变量的正确方法是:

    if(vars.get("check_1").equals("0"))
    

希望这可以帮助。

于 2015-07-15T12:12:51.827 回答