在一个Simple Controller
我放了一个JDBC PreProcessor
和一个If Controller
的目的是为了If Controller
应该使用预处理器的结果。由于元素的优先级,控制器在 PreProcessor 之前解释并且无法评估异常值。
如何强制 PreProcessor 在 Controller 之前运行?
换句话说,我如何根据动态前提条件运行或跳过样本?
谢谢!
在一个Simple Controller
我放了一个JDBC PreProcessor
和一个If Controller
的目的是为了If Controller
应该使用预处理器的结果。由于元素的优先级,控制器在 PreProcessor 之前解释并且无法评估异常值。
如何强制 PreProcessor 在 Controller 之前运行?
换句话说,我如何根据动态前提条件运行或跳过样本?
谢谢!
我找到了原因和解决方案。预处理器属于采样器。但是(这没有描述)他们只是在采样器之前直接评估。评估后,其他采样器和控制器可以使用预处理器的结果。
在我的例子中,我首先使用了 PreProcessor,然后是带有子 Sampler 的 Conroller。在这种情况下,预处理器没有在适当的时间进行评估,因为控制器之前没有采样器:
1. PreProcessor
2. Controller (can't use the PreProcessor's result)
2.1. Sampler
如果任何 Sampler 在 Controller 之前,则 PreProcessor 将在 Controller 之前进行评估。一个采样器(例如测试操作、调试采样器或任何“无操作”采样器)必须位于预处理器和控制器之间。在这种情况下,运行顺序是预期的:
1. PreProcessor
2. Sampler (can use the PreProcessor's result)
3. Controller (can use the PreProcessor's result)