Как проверить JSON Response в JMeter?

В любом случае, чтобы проверить ответ JSON, полученный от RestFul API в JMeter?

Я получаю ниже ответ:

{"workingfrom":[{"id":1234,"type":"office","name":"N1"},{"id":5678,"type":"home","name":"N2"}]}

Ответ 1

Просто поместите groovy-all-2.3.2.jar в каталог /lib вашей установки JMeter, а затем вы можете использовать обертку Groovy JsonSlurper. После запуска JMeter с этим.jar в пути, вы можете добавить пробоотборник JSR223, который использует скрипт Groovy.

Кроме того, если вы устанавливаете плагины JMeter, есть плагин JSON Path Extractor, который хорошо работает для меня.

Это 2 очень приятных альтернативы использованию регулярных выражений. Если вы пишете много тестов, любой из этих двух методов будет превосходным.

Ответ 2

Добавьте подтверждение ответа и используйте регулярное выражение для проверки строки. Регулярное выражение, которое вы можете использовать, можно найти в другом месте на Stackoverflow, здесь, если быть точным. Обратите внимание, что это очень дорогостоящая операция и, вероятно, будет использовать ваш CPU, если вы сделаете это с n параллельными потоками.

Ответ 3

Вы можете использовать JMeter JSON Plugins.

Сначала установите его:

  1. Загрузите JAR файл Plugins Manager и поместите его в каталог JMeter lib/ext. Затем запустите JMeter и перейдите в меню "Параметры", чтобы получить доступ к диспетчеру подключаемых модулей.
  2. На вкладке "Доступные плагины" выберите "Плагины JSON" и нажмите кнопку "Применить изменения" и "Перезапустить JMeter".

Теперь добавьте его в свой план тестирования (или группу потоков и т.д.): Раскрывающееся меню Добавить → Утверждения → jp @gc - Утверждение о пути JSON

Затем настройте его. Предполагая, что ваши данные выглядят как {"version":"5.0.0","hitCount":23}

  1. Путь JSON: $.hitCount
  2. Ожидаемое значение (регулярное выражение): 23

Вот более подробная информация о JSON Path Assertion.

Ответ 5

Большое спасибо за ответ. Я проверил использование регулярного выражения в текстовом ответе.

Ответ 6

Утверждение JSON - это еще один способ (в JMeter 4). Он легко может утверждать, присутствовал ли узел. Он может даже утверждать значение узла (регулярное выражение или иначе). enter image description here