2016-09-16 27 views
0

所以,我有以下结构:如何在jmeter的同一个线程中将数组从一个控制器传递到另一个控制器?

Thread 
    Bean PreProcessor 
    Controller1 
    Controller2 

豆预处理器创建了一个名为 “订单” 的ArrayList中:

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

控制器1包含以下代码的处理器:

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

控制器2包含具有以下代码的处理器:

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

现在,当我运行此,我想输出在控制台:

[Hello, test1] 

因为控制器1增加了测试1在“oList”,对不对?相反,我只看到

[Hello] 

这就像Controller2正在使用原始列表。为什么是这样,我能做些什么来纠正它?

回答

1

因为PreProcessor在每个采样之前,在你执行的情况下,他重新设置列表,只有"Hello"元素需要从

Thread 
Bean PreProcessor 
Controller1 
Controller2 

改变

Thread 
Bean Processor 
Controller1 
Controller2 

相关问题