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