Учебное пособие по JMeter: тестирование веб-служб REST

В этом руководстве по Jmeter мы рассмотрим, как мы можем протестировать REST API или веб-службу с помощью инструмента Jmeter.

Мы можем использовать Jmeter для отправки запроса Json в веб-службу RESTful, а также для анализа ответа Json.

План тестирования для веб-службы REST

  • Группа потоков
  • HTTP-запрос

Как и в случае с любыми тестами Jmeter, нам сначала нужно создать группу потоков вместе с семплером HTTP-запросов.

тестирование-отдых-jmeter-1

Если вы сейчас запустите тест, вы можете получить ошибку с кодом ответа 415 и ответным сообщением «Неподдерживаемый тип носителя».

Это связано с тем, что REST API может ожидать параметры Content-Type и Access в запросе заголовка.



тестирование-отдых-jmeter-7

  • Менеджер заголовков HTTP

Затем нам нужно добавить диспетчер заголовков HTTP для отправки параметров в заголовке запроса. Нам нужно отправить переменные Content-Type и Access в качестве заголовков запроса.

тестирование-отдых-jmeter-3

тестирование-отдых-jmeter-4

Скорее всего, вам нужно зарегистрировать свое приложение через API-ключ. Это необходимо отправить как метод POST в REST API в тело запроса .

  • Данные POST в теле запроса

тестирование-отдых-jmeter-8

И ответ в формате Json

тестирование-отдых-jmeter-9

Затем нужно извлечь или проанализировать ответ Json.

  • Извлечь ответ Json

У Jmeter есть удобный плагин под названием JsonPath который можно использовать для анализа ответов Json.

После того, как вы установили вышеуказанный плагин, мы можем использовать Json Path Extractor в качестве постпроцессора.

тестирование-JSON-путь-экстрактор

После того, как мы добавили Json Path Extractor в наш план тестирования, мы можем использовать точечную нотацию для ссылки на элементы Json.

В этом примере мы хотим извлечь значение client_id:

JSON-путь-экстрактор

Значение «client_id» будет сохранено в переменной с именем «client_id_value». Вы можете дать любое значащее имя, какое пожелаете.

Как только значение сохранено в имени переменной, мы можем вспомнить значение, используя это имя переменной в формате $ {client_id_value}

jmeter-отдых-тестирование