Моя конечная цель или задача: в плане тестирования Jmeter после итерации HTTP получает построение карты, имеющей ключ (некоторый идентификатор) и значение в виде списка класса.
В началеВ моем плане тестирования я определяю класс, который должен быть доступен для остальной части моего плана тестирования.(не уверен, как сделать его доступным, это правильный 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 ());Список классов является динамическим и строится на основе данных ответа HTTP GET каждый раз, когда я добираюсь до итерации ForEach.
Теперь далее в плане тестирования Jmeter у меня есть цикл ForEach, в каждой итерации нового HTTP GetЯ собираю ответные данные.В postProcessor этого HTTP Get я должен создать "новый" список этого класса 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, он перезаписывал старый предыдущий.