假设我有一个SimpleController,用作ModuleControllers的SubController。在其中,我有一个OnceOnlyController(以及其他功能)。
接下来,可以说我有一个Loop-> RandomController组合,它具有多个Controller选项。其中一些选项的ModuleControllers指向带有OneCallyOnlyController的上述SubController。
如果从Loop-> RandomController组合的不同选项中调用Subcontroller,则将不强制执行OnceOnlyController。
在这种情况下我该如何执行OnceOnlyController?
它是唯一的控制器,因此它的行为是这种方式。但是,这存在漏洞。将第一个简单控制器嵌套在另一个简单控制器下(任何其他控制器也都足够这样做。只需将其嵌套在父级下)。
您大约当前的情况:
两个模块控制器都参考第一个简单控制器
建议的方案
将简单控制器放在另一个控制器下
输出:
“仅一次”控制器的行为会在多个迭代中持续存在,而不会嵌套第一个简单控制器产生任何副作用。
小心语
多个控制器之间的交互会产生复杂的行为。对于随机控制器尤其如此。在假设任何给定的交互将产生什么结果之前进行实验
来源:https://jmeter.apache.org/usermanual/component_reference.html#Random_Controller
希望这会有所帮助!