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.
Интерфейс программы
  1. Созданная коллекция, которая называется “POSTMAN ECHO”

Как пользоваться?

Итак, есть документация, есть Postman, коллекция создана. Что дальше?

Все виды документации по API выглядят примерно одинаково. В любом из видов можно увидеть какой метод нужно использовать, какой URL, какие body, params headers и так далее.

Пример документации “Postman echo”.
  1. В левой части функциональные блоки API, разделённые по категориям (Регистрация, логин, личный кабинет с данными, получение контента и т.д).

Всё готово, можно отправить первый запрос! Пример запроса будет показан на запросе “GET request” из общедоступной документации postman echo. Метод GET нужен для получения какой-либо информации от сервера.

  • Во-первых, нужно выбрать метод, который будет использован. В примере используется метод “GET”, его и нужно выбрать в Postman.

В данном примере через URL уже переданы параметры запроса, а именно: “foo1=bar1&foo2=bar2”. При вставке URL в поле для ввода URL, автоматически подставляются параметры запроса в вкладку “Params”:

Params автоматически подставились при вводе URL

После того, как выбран метод, указан URL и параметры, можно отправить запрос на сервер. После нажатия кнопки “Send” в параметре ответа появляется ответ от сервера.

Метод работает, данные приходят верные, валидные, всё получилось.

Рассмотрим другой метод: POST, который нужен для передачи каких-либо данных с клиента на сервер.
Для данного типа запросов можно воспользоваться https://jsonplaceholder.typicode.com/posts в качестве URL запроса. Это открытый сервис, который можно использовать для имитации работы сервера.

Всё так же, как и при предыдущем методе, только меняется немного параметр запроса:

  • Нажать на иконку “+” для создания новой вкладки запроса. При создании новой вкладки, Postman предложит сохранить предыдущий запрос “GET” в коллекцию.

{

“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

Effective Developers

Collection of posts from Effective engineers.

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store