Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JMeter中的嵌套循环和终止条件_Jmeter_Load Testing_Beanshell - Fatal编程技术网

JMeter中的嵌套循环和终止条件

JMeter中的嵌套循环和终止条件,jmeter,load-testing,beanshell,Jmeter,Load Testing,Beanshell,我有一个情况,在这里,我有两个循环 1.Loop Controller (runs n times) 2. While Controller (exits based on HTTP response below || after some time gap) 3. HTTP Sampler 现在,我计划编写一个Beanshell后处理器,以便它解析HTTP结果并更新${TERMINATION\u CONDITION}变量,该变量可用于While循环终止 但是,我希望${TER

我有一个情况,在这里,我有两个循环

1.Loop Controller (runs n times)
   2. While Controller (exits based on HTTP response below || after some time gap)
     3. HTTP Sampler
现在,我计划编写一个Beanshell后处理器,以便它解析HTTP结果并更新${TERMINATION\u CONDITION}变量,该变量可用于While循环终止

但是,我希望${TERMINATION_CONDITION}被重置,以便当最外层的循环(即循环控制器)第二次进入时,它允许重新执行内部While循环

在我的例子中,由于${TERMINATION_CONDITION}未正确更新,因此不会发生这种情况

我的问题是:

  • 如果我在下面添加一个,后处理器什么时候执行 a) 作为父级的HTTP采样器 b) 作为父级的While循环控制器 c) 作为父对象的循环控制器

  • 如何在内部循环迭代后重置变量

  • 请帮我理解。提前谢谢

  • 关于执行顺序,您应该阅读。如果您想使用Beanshell而不使用后处理器,您可以使用。始终记住JMeter遵循测试计划层次结构
  • 您可以用几种不同的方式重置变量。最简单的方法可能是通过重新初始化beanshell。只要把一个比恩希尔取样器放在循环的末端,然后在里面重置你想要的 例如


    是的,伊万。非常感谢。我看到的博客和帖子都没有提到测试计划层次结构的重要性。在浏览了您提供的相同链接之后,我使用了相同的方法。我使用了VAR。删除(“VAR”);重置在我的案例中有效的var。
    vars.put("variable1", null);
    vars.put("variable2", "");
    // or what ever you want...