ATLANTBH jmeter-components: Утверждение пути JSON

Я пытаюсь выполнить утверждение JSON, используя утверждение ATLANTBH jmeter JSON PATH.
Однако я Кажется, не могу написать правильное выражение, чтобы получить следующие поля из фида JSON, размещенного ниже:

  1. 123456789
  2. 1009
  3. НЕКОТОРЫЕ СЛУЧАЙНОЕ СООБЩЕНИЕ

    {"api": {"status":"Success","callsremaining":36,"version":"x.x.x.x"}
    ,"result":{"errors":{"123456789":{"code":1009,"error":"SOME RANDOM MESSAGE"}}}
    }
    

Есть ли у кого-нибудь здесь опыт использования этого плагина JMeter?
Я знаю, что могу использовать regex и Beanshell для проверки, но я бы предпочел использовать это утверждение пути JSON.

Любая помощь, которую вы могли бы оказать, была бы очень признательна.


person Philban    schedule 25.10.2012    source источник


Ответы (1)


Похоже, вы можете легко утверждать значения 1009 и SOME RANDOM MESSAGE, используя выражения JSONPath (в компонентах JSON Path Assertion), но не уверены в 123456789: это не значение узла, а имя bode, а реализация JSONPath, используемая этими компонентами, похоже, не имеет выражений для получения имени узла .

Предположим, вы можете легко использовать для утверждения 123456789 вместо привязки JSON Path Extractor (из той же коллекции компонентов) со стандартом jmeter Response_Assertion.

  1. Добавьте 2 утверждения пути JSON в качестве дочерних к сэмплеру, который возвращает ответ json, который вы хотите обработать:

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

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

    Выражения будут $.result.errors..code и $.result.errors..error соответственно.

  2. Добавьте JSON Path Extractor в качестве дочернего к тому же сэмплеру, чтобы извлечь полную запись об ошибке:

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

    Выражение: $.result.errors..
    Будет извлечено {"123456789":{"error":"SOME RANDOM MESSAGE","code":1009}} и сохранено в указанную переменную (${errorKey}).

  3. Добавьте утверждение ответа в качестве дочернего к тому же сэмплеру после ранее добавленного экстрактора пути JSON:

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

    Это подтвердит имя ключа (123456789) в значении переменной ${errorKey}.


Таким образом, окончательная конструкция может выглядеть как

...
YOUR Sampler
    JSON Path Extractor
    JSON Path Assertion
    JSON Path Assertion
    Response Assertion
...
person Aliaksandr Belik    schedule 22.02.2013