我最终的目标是:在Jmeter测试计划中,经过HTTP Gets迭代之后,构建一个具有键(某些ID)和Value作为类列表的Map。
在测试计划的开始,我定义了一个类,该类对于我的其余测试计划必须可用。 (不确定如何正确使用此props.put(“ XYZ”,XYZ());请注意在每次迭代中都进一步阅读...)
class XYZ{
String foo;
String bar;
}
props.put("XYZ", XYZ());
Map<String,List> myMap = new HashMap<String,List>();
vars.putObject("myMap", myMap);
该类类型XYZ和myMap必须可用于ForEach PostProcessor循环,因为每次我进行新的迭代时,都需要该类XYZ的“新”列表。我确实从上面得到错误? props.put(“ XYZ”,XYZ());类的列表是动态的,并且每次访问ForEach迭代时都由HTTP GET的响应数据构建。
现在在Jmeter测试计划中,我还有一个ForEach循环,在新HTTP Get的每次迭代中,我都收集响应数据。在该HTTP Get的postProcessor中,我需要实例化该类XYZ的“新”列表。尝试了这个但出错了???:
def XYZ= props.get("XYZ");
List<XYZ> tempList = new ArrayList<XYZ>();
cnt = 2; // Find the size of the list from Response data, for example say it is now 2
then from Response data I will build my list of that class say for eaxmple.
for (i=0; i<cnt; i++){
t1 = new XYZ();
t1.foo = "X"+"-"+i.toString();
t1.bar = "Y"+"-"+i.toString();
tempList.add(t1)
}
一旦我建立了tempList,就将其添加到地图中
myMap = vars.get("myMap", myMap);
newKey = "Obtain from Response Data"
myMap.put(newKey, tempList)
因此,每当我进行一次ForEach迭代时,我将需要一个新的不同类XYZ的列表。创建该列表后,我需要将其添加到最终地图中。
每次尝试获取新的tempList时,我都会花费很多时间,它会覆盖以前的旧列表。