11/15/2013

Тестируем REST API вручную с помощью Hack St

Очень часто перед тестировщиком веб-приложений появляется задача протестировать REST API. Зачем веб-приложению API? Чаще всего для того, чтобы:
  1. Предоставить сторонним разработчикам  возможность пользоваться функционалом вашего приложения в своих приложениях.
  2. Предоставить программный интерфейс для нативных мобильных клиентов.
  3. Предоставить программный интерфейс для взаимодействия различных частей приложения друг с другом.
Обычно для API существует некоторая документация в виде перечня набора URL'ов и параметров запросов на них. Какой самый простой способ протестировать API веб-приложения? Правильно - взять в руки curl и написать команду вида:

curl -i -H "Accept: application/json" -X POST -d "firstName=james" http://192.168.0.165/persons/person

которая выполнит нужный запрос с нужными параметрами, и посмотреть результаты в консоли. Вроде бы все просто, но явно видны 2 проблемы:
  1. Результаты выполнения запроса представлены в не особо презентабельном и читаемом виде.
  2. Для новичков может стать трудностью работа с многочисленными опциями curl.
В таких случаях на помощь приходят различные GUI-утилиты, упрощающие процесс написания запросов и представляющие результаты их выполнения в легко читаемом виде. Одной из таких утилит и является Hack St. - веб-приложение для отладки HTTP-запросов.

Рассмотрим на простом примере как это работает. Допустим, мы хотим отправить запрос на получение списка городов в заданном координатами квадрате сервису GeoNames. Формируем наш запрос:
После чего нажимаем Execute и вуаля:
Как легко заметить - в наглядной форме представлены как параметры запроса, так и его результат, что с легкостью позволяет использовать этот инструмент для тестирования API новичками. Также у этого сервиса есть десктопное приложение под MacOS X и в планах версии для Linux и Windows. Вердикт - рекомендую!
P.S. Стоит отметить, что данный инструмент подходит в том случае, если API тестируемого приложения не очень большое и/или его тестирование необходимо нерегулярно. В противном случае нужно переходить к автоматизированному тестированию API. Но это уже совсем другая история...
(UPDATE)
После написания статьи сервис прилег отдохнуть :( Пока не проснется, можно пользоваться его старой версией - http://apikitchen.com/ 

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

Отправить комментарий