API (Application Programming Interface) — это программный интерфейс приложения, с помощью которого одна программа по определенным правилам (договору) может взаимодействовать с другой. API позволяет отправлять информацию напрямую из одной программы в другую без интерфейса пользователя.
Для удобства созданы единые стандарты API. Например, REST — стандарт взаимодействия, который полностью построен на протоколе HTTP, при котором идентификация пользователя и все параметры выполнения операции передаются в каждом запросе.
Тестирование API является интеграционным, т.е. подразумевается проверка взаимодействия частей системы программы. Удобным инструментом для проверки выходных данных является Postman.
Основные возможности Postman:
- Создавать и отправлять запросы;
- Сохранять запросы в каталоги и коллекции;
- Параметризовать запросы;
- Добавлять к вызову API контрольные точки;
- Создавать разные окружения для одних и тех же запросов;
- Запускать коллекции с помощью Collection Runner и использовать их как автоматизированные тесты.
Итак, как же работать с Postman:
- Для начала необходимо загрузить и установить последнюю версию Postman с официального сайта https://www.postman.com/downloads/
- Далее в интерфейсе в меню выбрать «File» — «New Tab»
откроется вкладка запросом и параметрами:
3. На примере API Яндекс.Погода запросим информацию с помощью метода GET. Для этого необходимо зарегистрироваться в кабинете разработчика и получить API ключ.
4. Далее переходим в описание API Яндекс.Погода (документация):
5. В Postman на вкладке Authorization вводим наш API ключ:
6. Далее в строке запроса выбираем запрос GET и вводим адрес запроса https://api.weather.yandex.ru/v1/forecast? и нажимаем на кнопку «Send». Внизу формы появится результат запроса в формате JSON:
Возможно добавлять параметры такие как:
lat=<широта>
& lon=<долгота>
& [lang=<язык ответа>]
& [limit=<срок прогноза>]
& [hours=<наличие почасового прогноза>]
& [extra=<подробный прогноз осадков>]
Введем, например, широту и долготу и отправим наш запрос:
В итоге в ответе придет информация о погоде в г. Стамбул: