Postman — как инструмент тестирования API

Alexander Kuvshinov
Effective Developers
5 min readSep 25, 2019

--

Я начинаю цикл ознакомительных и обучающих статей по 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”
  2. Вкладка с запросом
  3. Метод, который будет использован для запроса
  4. URL адрес
  5. Кнопка отправки запроса
  6. Параметры запроса
  7. Параметры ответа

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

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

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

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

Всё готово, можно отправить первый запрос! Пример запроса будет показан на запросе “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”:

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

После того, как выбран метод, указан 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

--

--