Я предлагаю вам взглянуть на:
http://jmeter-plugins.org/wiki/JSONPathExtractor/
В этом разделе (JSON Drivers (JSON Путь утверждения JSON Путь Extractor, JSON Formatter)), в частности, для этого случая. Это набор инструментов jmeter, разработанных в моей компании, они очень полезны.
Давайте рассмотрим ваш пример. Тест выглядит следующим образом:
Так фиктивный образец возвращает ответ, так же, как вы указали:
{"address":{"id":26,"user_id":1,"genre":"billing","first_name":"testFN1","last_name":"testLN1","company":null,"street1":null,"street2":null,"city":null,"state":"DC","zip":null,"country":null,"country_iso2":null,"phone1":"32432424322","phone2":null}}
извлечение JSON очень прост:
$.address.id
И вы не нуждаетесь в причудливых регулярных выражениях. Результат - 26 (это то, что я вижу в debug sampler).
Обновление от вопроса в комментариях:
Если вы должны были иметь список значений, то есть:
{"address":[{"id":26,"user_id":1,"genre":"billing","first_name":"testFN1","last_name":"testLN1","company":null,"street1":null,"street2":null,"city":null,"state":"DC","zip":null,"country":null,"country_iso2":null,"phone1":"32432424322","phone2":null}, {"id":6,"user_id":1,"genre":"billing","first_name":"testFN1","last_name":"testLN1","company":null,"street1":null,"street2":null,"city":null,"state":"DC","zip":null,"country":null,"country_iso2":null,"phone1":"32432424322","phone2":null}]}
Список с 2-х адресов, 1 имеет идентификатор 26 и другой 6. Json Path $.address.id
должны возвращать обе эти идентификаторы. Я только что видел исходный пробоотборник кода, и это не возможно, чтобы получить счет, однако вы можете сделать это, добавив еще один постпроцессор вашего образца, т.е. BSF Sampler
и добавляя этот код:
vars.put("ADDRESS_COUNT", "${__javaScript('${add}'.split('\,').length,)}".toString());
Где ${add}
является любым переменным, где хранятся результаты $.address.id
.
муравей, это очень интересно. Однако по какой-то причине я не смог получить mvn для компиляции файла. Есть ли файл JAR, который можно загрузить без компиляции? – Dean
@ Вы можете использовать maven 2 для создания проекта. Вы должны использовать maven 3, извините за то, что не упоминаете, что на странице github я изменю это – ant
, теперь это изменилось. – ant