如何在jmeter中的同一个线程中将数组从一个控制器传递到另一个控制器?

时间:2016-09-16 08:01:50

标签: jmeter

所以,我有以下结构:

Thread
     Bean PreProcessor
     Controller1
     Controller2

Bean PreProcessor创建一个名为" orders"由:

List order = new ArrayList();
order.add("Hello");
props.put("oList", order);

Controller1包含一个带有以下代码的处理器:

List order = props.get("oList");
order.add("test1");
props.put("oList", order);

Controller2包含一个带有以下代码的处理器:

System.out.println(props.get("oList"));

现在,当我运行它时,我想在控制台输出的内容是:

[Hello, test1]

因为Controller1在" oList"中添加了test1,对吧?相反,我只看到

[Hello]

就像Controller2正在使用原始列表一样。为什么会这样,我该怎么做才能纠正它?

1 个答案:

答案 0 :(得分:1)

您需要从

更改
Thread
 Bean PreProcessor
 Controller1
 Controller2

Thread
 Bean Processor
 Controller1
 Controller2

因为PreProcessor在每个采样器之前执行,在您的情况下,他仅使用"Hello"元素重置列表