Как перебирать и утверждать объекты массива JSON в JMeter, если они имеют одинаковое имя?

#json #jmeter #assertion

#json #jmeter #утверждение

Вопрос:

У меня есть приведенный ниже ответ JSON для проверки. Мне нужно проверить все «CreatedDate» из всех массивов независимо. Есть ли какой-либо простой способ захватить их или выполнить цикл по ним (поскольку он имеет одинаковое имя объекта, но в разных массивах) и поместить их в переменные, чтобы выполнить утверждение относительно их соответствующих значений из ответа JDBC?

Прямо сейчас я использовал утверждение JSON для каждого «CreatedDate», используя путь JSON для проверки на соответствие значению базы данных.

 {
    "someobject1": 123,
    "Array1": 
    [
        {
            "someobject2": 2,
            "createdDate": "2019-03-26T20:29:44.631 0000",
            "someobject3": "SCRIPT1"
        },

        {
            "someobject4": 3,
            "createdDate": "2019-03-27T20:29:44.631 0000",
            "someobject5": "SCRIPT2"
        }
    ],

    "Array2": 
    [
        {
            "someobject6": 4,
            "createdDate": "2019-03-28T20:29:44.631 0000",
            "someobject7": "SCRIPT3"
        },

        {
            "someobject8": 5,
            "createdDate": "2019-03-29T20:29:44.631 0000",
            "someobject9": "SCRIPT4"
        }
    ]
}
  

Ответ №1:

Вы можете использовать утверждение JSON, настроенное следующим образом:

  • Утверждать, что путь JSON существует: $..createdDate
  • Ожидаемое значение: ["2019-03-26T20:29:44.631 0000","2019-03-27T20:29:44.631 0000","2019-03-28T20:29:44.631 0000","2019-03-29T20:29:44.631 0000"]

Полная конфигурация:

введите описание изображения здесь

Дополнительная информация:

Комментарии:

1. Возможно ли сравнить это один к одному. В случае, если один из них выходит из строя, может ли кто-либо из слушателей сообщить?