Postman — менеджмент, структурирование, импорт и экспорт коллекций.

Alexander Kuvshinov
Effective Developers
6 min readNov 13, 2019

В предыдущей статье был рассмотрен инструмент для тестирования API — Postman. Эта статья посвящается организации коллекций, как экспортировать и импортировать коллекции.

Менеджмент коллекций

Когда вы тестируете несколько проектов параллельно, чтобы избежать путаницы в списке запросов, логичнее всего будет создать коллекцию для каждого проекта. Важно разделить проекты именно на этапе создания запросов. В примере я создам три проекта и назову их “Test 1”, “Test 2” и “Test 3”.

  • Создать новую коллекцию в Postman
  • Назвать эту коллекцию и опционально заполнить описание.
    Совет! Используйте название тестируемого проекта.
После нажатия на кнопку “Create” коллекция создаётся

Скорее всего, когда вы будете создавать свою первую коллекцию, она будет одна. В примере я покажу сразу несколько проектов/коллекций, какую именно схему менеджмента коллекции выбрать — решать вам.

Итак, коллекция создана. Что дальше? При нажатии на пустую коллекцию, Postman сам подсказывает, что можно добавить запрос или создать папку.

Создадим папку внутри коллекции.

Тут начинается самое интересное. Как же назвать папку? Есть несколько способов организовать папки внутри коллекции:

1) По функциональным блокам
2) По user flow
3) По версии API (V1, V2 и т.д.)
4) По критично важной функциональности

Организация коллекций по функциональным блокам

Например, в приложении или на сайте есть следующие функциональности:

  • Регистрация, авторизация, восстановление аккаунта
  • Каталог
  • Поддержка
  • Личный кабинет
  • Корзина

и т.д до бесконечности.

Один из способов — разбить папки на функциональные блоки, чтобы облегчить проверку тех запросов, где произошли изменения, или регрессом проверять отдельные части приложения/веб-сервиса. Этот способ подходит в том случае, когда нужно держать под контролем абсолютно весь API и когда проект уже находится на стадии поддержки, но API еще не тестировался ранее.

Организация коллекций по функциональным блокам.

Организация коллекций по user flow

Папки можно организовать, подумав о наборе шагов, которые обычно проходит пользователь. Например: пользователь логинится, заходит в каталог, добавляет товар в корзину, переходит на оформление заказа, заполняет все данные, переходит к оплате… Это один из user flow пользователя, которых может быть большое количество. Еще пример — пользователь заходит в каталог, добавляет несколько позиций в избранное, проверяет, что в разделе “избранное” эти позиции остались. По таким сценариям и можно оформить папки. Этот вариант подходит, когда стоит задача проверить именно путь пользователя от входа в приложение до его конечной цели. Даже если его цель — поменять пароль, или посмотреть новые акции. На практике этот подход применяется достаточно редко, т.к. такие коллекции крайне специфичны.

Пусть вас не смущает повторяющийся запрос “Логин”. В следующих статьях я расскажу как в каждом запросе не использовать логин с помощью предустановленного логина и расскажу больше о переменных в запросе.

Организация коллекций по версии API

Разработка веб-сервиса или приложения состоит из этапов. В случае, когда с клиентом существует договоренность в первом этапе сделать определённый набор функциональностей, таких как регистрация, авторизация, каталог, корзина, оформление заказа, оплата, уместно разбить коллекцию по версиям API, которые от этапа к этапу обновляются. Например API v1, API v2 (где добавятся акции, раздел избранного, бонусные программы), API v3 и т.д. Зачастую, это один из самых распространённых случаев, т.к. в основном тестирование API и создание коллекции в Postman происходит в самом начале разработки.

Организация коллекций по критично важной функциональности

Согласно теории тестирования программного обеспечения, невозможно обеспечить отсутствие дефектов в разрабатываемом продукте. Особенно в случае сжатых сроков (ну куда же мы без дедлайнов когда наш клиент внезапно хочет сделать демо своим клиентам, потому что его бизнес идея раскрутилась?). В таких случаях нам необходимо убедиться, что основные или наиболее часто используемые части продукта работоспособны и исправны. То есть мы выделяем критичную функциональность и фокусируемся только на ней. Можно использовать этот метод при проведении приёмки минорного релиза, либо для создания коллекции в Postman, где будет отдельная папка с критичной функциональностью. В этом случае тестирование займет меньше времени за счёт фокусировки на конкретной части продукта, дешевле для клиента, но при этом клиент не будет терять деньги из-за того, что фичи типа “сканер штрих-кода товара” или “редирект на сайт из приложения” работают, а оплата отвалилась, т.к. она проверяется намного чаще, потому что входит в скоуп критично важной функциональности.

Экспорт

Коллекция создана, формат коллекции удобен, вдруг менеджер проекта или другой QA спрашивает “А есть коллекция в постмане? Хочу тоже посмотреть”. Коллекция есть, и для того, чтобы поделиться коллекцией и существует экспорт, чтобы по несколько раз не делать разным людям в команде одну и ту же работу. Да, можно импортировать коллекцию из Swagger’a, но ведь не всегда в Swagger’e указаны нужные параметры и прочие необходимые вещи для успешного запроса. В этом и есть огромный плюс Postman’a. Можно создавать и хранить кастомизированные запросы на основе документации (указывать необходимые ID, предустанавливать токен пользователя и т.д.). В онлайн инструментах типа Swagger’a тоже можно кастомизировать параметры или тело запроса, но нельзя сохранить эти шаблоны для последующего использования.. Также, не у всех сервисов хранения документации по API есть экспорт, иногда это вообще простыня из запросов и методов.

Существует два способа экспорта: с помощью создания файла коллекции .json и по URL.

  1. Файлом .json:
  • Выбрать нужную коллекцию
  • Нажать на кнопку “меню” у названия коллекции (или правой кнопкой мыши нажать на коллекцию)
  • Выбрать пункт “Export”
  • В открывшемся меню выбрать нужную версию коллекции (лучше использовать 2.1, т.к. эта версия является более универсальной и наиболее используемой. Про версии коллекций можно больше узнать здесь: Postman blog)
  • Нажать кнопку “Export”
  • Указать директорию, где будет храниться .json файл
  • Сохранить

Вы великолепны! Файл создан, можно его скидывать заинтересованным людям.

2. С помощью URL ссылки:

  • Выбрать нужную коллекцию
  • Нажать на кнопку “Меню” у названия коллекции (или правой кнопкой мыши нажать на коллекцию)
  • Выбрать пункт “Share collection”
  • Включить вкладку “Get link”
  • Нажать на кнопку “Get link” для генерации ссылки

Готово! :) Ссылка получена, можно её скопировать и отправить кому нужно.

Импорт

Представим, что вы с другой стороны баррикады. С вами делятся файлом .json или ссылкой на коллекцию. Как этот файл открыть? Для этого существует импорт коллекций.

  1. Импорт с помощью файла .json:
  • Нажать на кнопку “Import” в левом верхнем углу
  • Выбрать вкладку “Import file”
  • Нажать на кнопку “Choose file” (либо просто драг-н-дропнуть .json файл в диалоговое окно с кнопкой “Choose file”)
  • Выбрать нужный файл

Вот и всё, коллекция добавлена и доступна в вашем списке коллекций.

2. Импорт с помощью сгенерированного URL:

  • Нажать на кнопку “Import”
  • Выбрать вкладку “Import from link”
  • Ввести ссылку на коллекцию, сгенерированную при экспорте
  • Нажать на кнопку “Import”

Теперь вы имеете представление о менеджменте коллекций и способах их экспорта и импорта. Конечно, можно вести коллекции так, как удобно вам. Материалы в этой статье лишь демонстрируют возможности организации коллекций и работы с ними. Зато теперь после вопроса “Скинь мне свою коллекцию”, вы не будете тратить время на то, чтобы разобраться как это сделать, ведь вы уже всё знаете!

В следующей статье будут рассмотрены предустановки для запросов, окружения, на которые будут отправляться запросы, предавторизация перед запросами, а также, коснемся темы инкремента значений в теле запроса.

Если вам нужно разработать качественное мобильное приложение или веб-сервис, смело обращайтесь к нам в Effective, мы готовы сотрудничать с вами в любом виде, как на проекте целиком так и на аутстаф — contact@effective.band

--

--