Postman — как инструмент тестирования API
Я начинаю цикл ознакомительных и обучающих статей по Postman. Цель данного цикла — помочь новичкам овладеть этим инструментом и начать применять его в работе. Первая из статей будет вводная, в которой я расскажу для чего нужен Postman, как начать им пользоваться, а так же разберу несколько простых запросов.
В настоящее время, тестировщики достаточно часто сталкиваются с ситуацией, когда задача звучит следующим образом: “Протестируй апиху, пожалуйста, тебе бэкенднер документацию скинул”. В этот момент у многих может случиться ступор. Но опытные тестировщики сразу же подумают о Postman.
Для чего нужен Postman?
Postman предназначен для проверки запросов с клиента на сервер и получения ответа от бэкенда. Можно описать общение Postman с бэкендом в виде диалога:
Postman: “Дай мне информацию по балансу именно этого пользователя”
Backend: “Да, конечно, запрос правильный, получи информацию по балансу этого пользователя”
Такой позитивный диалог происходит в том случае, если ошибок на бэкенде нет и разработчик сделал всё согласно документации. Но не всегда это происходит в таком успешном ключе. В моей практике случались следующие диалоги:
Postman: “Дай мне информацию по балансу именно этого пользователя”
Backend: “Кто я вообще?”
или
Postman: “Дай мне информацию по балансу именно этого пользователя”
Backend: “Пользователь не найден.”
Описанные выше ответы от бэкенда имеют свой код ошибки, которые приходят в ответе.
В первом случае — это ошибка с кодом 500 (Internal Server Error) внутренняя ошибка сервера, которая говорит о том, что сервер столкнулся с неожиданным условием, которое помешало ему выполнить запрос.
Во втором — 404 ошибка (Not Found) код ответа HTTP о том, что сервер не может найти данные по запросу, полученному от клиента.
Именно для этого и предназначен Postman — для проверки запросов клиент → сервер по документации, чтобы убедиться, что всё работает на стороне бэкенда.
Как начать?
Для начала — нужно скачать клиентское приложение с официального сайта — https://www.getpostman.com/.
- Нужно нажать на кнопку “Download the App”
- Далее нужно выбрать свою ОС, скачать файл и установить его.
- После запуска программа предлагает создать запрос, коллекцию, среду, создать МОК-сервер и т.д. Но сегодня будет рассмотрена основная функциональность Postman — это как раз создание коллекций с запросами к API. Следовательно нужно выбрать “Collection”
- Далее нужно будет дать название своей коллекции. Например, это может быть название тестируемого проекта. В моём случае пример одного из запросов будет из Postman Echo, открытой документации от разработчиков Postman.
- Созданная коллекция, которая называется “POSTMAN ECHO”
- Вкладка с запросом
- Метод, который будет использован для запроса
- URL адрес
- Кнопка отправки запроса
- Параметры запроса
- Параметры ответа
Как пользоваться?
Итак, есть документация, есть Postman, коллекция создана. Что дальше?
Все виды документации по API выглядят примерно одинаково. В любом из видов можно увидеть какой метод нужно использовать, какой URL, какие body, params headers и так далее.
- В левой части функциональные блоки API, разделённые по категориям (Регистрация, логин, личный кабинет с данными, получение контента и т.д).
- По центру находится информация о том, какой метод нужно использовать, URL для отправки запроса, параметры, которые нужно передавать в теле запроса.
- Справа — ответы, которые должны приходить с сервера.
Всё готово, можно отправить первый запрос! Пример запроса будет показан на запросе “GET request” из общедоступной документации postman echo. Метод GET нужен для получения какой-либо информации от сервера.
- Во-первых, нужно выбрать метод, который будет использован. В примере используется метод “GET”, его и нужно выбрать в Postman.
- В поле ввода URL нужно ввести также URL, который находится в центральной части документации: “https://postman-echo.com/get?foo1=bar1&foo2=bar2”
В данном примере через URL уже переданы параметры запроса, а именно: “foo1=bar1&foo2=bar2”. При вставке URL в поле для ввода URL, автоматически подставляются параметры запроса в вкладку “Params”:
После того, как выбран метод, указан URL и параметры, можно отправить запрос на сервер. После нажатия кнопки “Send” в параметре ответа появляется ответ от сервера.
Метод работает, данные приходят верные, валидные, всё получилось.
Рассмотрим другой метод: POST, который нужен для передачи каких-либо данных с клиента на сервер.
Для данного типа запросов можно воспользоваться https://jsonplaceholder.typicode.com/posts в качестве URL запроса. Это открытый сервис, который можно использовать для имитации работы сервера.
Всё так же, как и при предыдущем методе, только меняется немного параметр запроса:
- Нажать на иконку “+” для создания новой вкладки запроса. При создании новой вкладки, Postman предложит сохранить предыдущий запрос “GET” в коллекцию.
- На новой вкладке нужно выбрать метод “POST” вместо “GET”.
- В поле для ввода URL ввести https://jsonplaceholder.typicode.com/posts
- Перейти на вкладку “Body” в вкладках параметров запроса. Это параметр тела запроса, т.е. что именно будет отправлено на сервер.
- Внутри “Body” нужно сменить тип на “raw” и справа сменить “Text” на “JSON”. Обычно, в грамотно составленной документации, все необходимые параметры Params, Headers, Body прописаны и указано в каком формате эти данные должны быть переданы.
- Вставить следующий запрос в текстовый редактор, который появился при выборе типа “raw” и “JSON”:
{
“title”: “First POST request”,
“body”: “I hope, it’s gonna be work”,
“userId”: 12345
}
Должно всё выглядеть следующим образом:
- После ввода Body, нажать на кнопку “Send”.
В ответе должен прийти текст, который был отправлен в текстовом редакторе из Body, к которому добавится id новой записи, которая была создана на сервере. Также код “201 Created” подтверждает то, что новая запись была создана.
В этой статье были рассмотрены два самых популярных запроса при тестировании API. Метод GET — получить что-либо с сервера, метод POST — отправить что-либо на сервер и увидеть, что данные были отправлены и приняты. Все остальные методы работают по похожему принципу, главное — внимательно читать документацию и всегда указывать нужные Params, Body, URL и метод, которые нужны для успешного запроса. Спасибо за внимание!
В следующей статье будет рассмотрен менеджмент, структурирование, импорт и экспорт коллекций и запросов.
Если вам нужно разработать качественное мобильное приложение или веб-сервис, смело обращайтесь к нам в Effective, мы готовы сотрудничать с вами в любом виде, как на проекте целиком так и на аутстаф — contact@effective.band