我有一个ForEach控制器,在其中我调用一个端点以返回guid变量列表(例如inspectionId)。我使用JSON提取器(JSONPath)将它们存储到1个变量-InspectionIds中。由于存在多个值,因此最终会创建一个数组,当我在另一个控制器的链上使用它们时,该数组将完美工作。由于工作流程的要求,我需要合并所有InspectionIds实例,然后继续使用下一个控制器。但是由于数组是在ForEach控制器内部创建的,因此最终在该控制器的每次迭代中都被覆盖。因此,我最终得到了控制器的最后结果。
我无济于事地研究了Groovy和BeanShell Processor,所以我寻求您的帮助。
以下是一些屏幕截图-
答案 0 :(得分:0)
如果您将JSON提取器作为样本的子代,该样本会返回您的inspectionIds
-它将仅应用于此采样器
在上述设置中,JSON提取器仅应用于Sampler 1
如果您的JSON提取器与返回inspectionId
的请求位于同一个级别,则它将应用于此范围内的该采样器和所有其他采样器(相同级别或以下)
在上述设置中,JSON提取器适用于Sampler 1
和Sampler 2
。由采样器1创建的任何JMeter Variables将被采样器2 覆盖。如果您将Debug Sampler用于“变量调试”测试元素,则同样适用。