Postman: коллекции, окружения, переменные

В прошлом уроке мы разобрались, что такое API и REST — но одной теории мало, нужно уметь отправлять запросы на практике. Для этого тестировщики используют Postman — инструмент, который отправляет HTTP-запросы к API и показывает ответы сервера, без единой строчки кода.

Чему научишься за этот урок:
— понимать, зачем нужен Postman и что он делает;
— объяснять, что такое коллекция запросов и зачем её собирать;
— работать с окружениями и переменными, чтобы не переписывать запросы вручную.

Postman — отдельная программа, её нужно установить (это НЕ то же самое, что DevTools из главы 3, который уже встроен в браузер). Скачать бесплатно: postman.com/downloads (Windows — .exe, Mac — .dmg). При первом запуске Postman попросит завести бесплатный аккаунт (email + пароль) — это нормально, часть функций (сохранение коллекций) требует входа. Если после установки видите пустое окно без готовой коллекции слева — это ожидаемо: коллекция «Полигон» из следующих скриншотов появится, когда вы её создадите сами (см. этот урок дальше) или импортируете файл, который даст преподаватель/куратор.

Что такое Postman

Postman — инструмент для ручного тестирования API. Он отправляет HTTP-запросы к API, используя те же методы и ресурсы, что вы разбирали в прошлом уроке (GET, POST, PUT, DELETE к ресурсам вроде /api/courses), и показывает ответ сервера: код ответа, тело в формате JSON, заголовки. Тестировщику не нужно писать код — запрос собирается в интерфейсе: выбрал метод, вписал адрес, при необходимости добавил тело запроса, нажал «Отправить».

По сути, Postman делает то же самое, что вы уже видели во вкладке Network в DevTools в главе 3 — только там вы НАБЛЮДАЛИ за запросами браузера, а в Postman вы сами СОБИРАЕТЕ и ОТПРАВЛЯЕТЕ запрос, какой нужен именно вам, независимо от интерфейса.

Коллекция: запросы, собранные вместе

Когда запросов становится много, их удобно группировать. Коллекция (Collection) — это набор сохранённых запросов, объединённых логически. Например, коллекция «Курсы» может содержать все запросы к ресурсу курсов сразу:

Коллекция "Курсы"
  GET    /api/courses      -> список курсов
  GET    /api/courses/123  -> один курс
  POST   /api/courses      -> создать курс
  PUT    /api/courses/123  -> изменить курс
  DELETE /api/courses/123  -> удалить курс

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

Окружения и переменные

Один и тот же запрос часто нужно отправлять в разные места: например, сначала проверить на тестовом сервере (Dev), а потом — что всё работает и на боевом (Prod). Адрес сервера при этом разный, а сама структура запроса — одинаковая. Чтобы не переписывать все запросы коллекции вручную под каждый сервер, в Postman используют окружения и переменные.

Переменная (Variable) — значение, которое переиспользуется в разных запросах через синтаксис {{имя_переменной}}. Вместо того чтобы в каждом запросе прописывать полный адрес вручную, используют переменную:

Вместо:  https://dev.example.com/api/courses
Пишут:   {{base_url}}/api/courses

Окружение (Environment) — набор переменных, привязанный к конкретному месту запуска. Например, окружение «Dev» и окружение «Prod» могут иметь разное значение переменной base_url, но одинаковую структуру самих запросов:

Окружение Dev:   base_url = https://dev.example.com
Окружение Prod:  base_url = https://example.com

При переключении окружения меняется ОДНА переменная base_url, а не каждый запрос коллекции вручную. Тестировщик один раз собирает коллекцию запросов с переменными, а дальше просто переключает окружение перед проверкой — это быстрее и надёжнее, чем редактировать десятки запросов заново.

Интерфейс Postman: слева сайдбар с коллекцией запросов, вверху выбор окружения (Dev/Prod), справа панель с переменной base_url

Итог:
— Postman отправляет HTTP-запросы к API и показывает ответ сервера, без кода;
— коллекция — набор сохранённых запросов, сгруппированных логически (например, все запросы к одному ресурсу);
— переменная вида {{base_url}} переиспользуется в запросах вместо жёстко прописанного значения;
— окружение — набор переменных под конкретное место запуска (Dev/Prod); при смене окружения меняется одна переменная, а не все запросы коллекции.

Контрольный вопрос. Что делает Postman?

АОтправляет HTTP-запросы к API и показывает ответы сервера, без написания кода
БАвтоматически пишет код тестов на Python
ВЗаменяет собой браузер для просмотра сайтов

Подсказка: В начале урока прямо описано, что делает этот инструмент с запросами и ответами.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Контрольный вопрос. Что такое коллекция в Postman?

АНабор сохранённых запросов, сгруппированных логически
БОдин-единственный запрос без возможности сохранения
ВСписок окружений Dev и Prod

Подсказка: В уроке приведён пример коллекции «Курсы» — подумай, что в неё входит.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Контрольный вопрос. Как в Postman обозначается переменная внутри запроса?

А{{имя_переменной}}
Б$имя_переменной
В#имя_переменной

Подсказка: В уроке показан пример с переменной base_url — обрати внимание на скобки вокруг имени.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Контрольный вопрос. Что произойдёт с запросами коллекции, если переключить окружение с Dev на Prod?

АИзменится значение переменных (например, base_url), а сами запросы переписывать не нужно
БВсе запросы коллекции удалятся
ВСтруктуру каждого запроса нужно будет переписать вручную заново

Подсказка: В уроке прямо сказано, что меняется при переключении окружения — а что остаётся неизменным.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Контрольный вопрос. Какие из утверждений про коллекции, окружения и переменные Postman верны (выбери все подходящие)?

Выберите все верные варианты.

АКоллекция объединяет запросы логически, например все запросы к одному ресурсу
БОкружение — это набор переменных, привязанный к конкретному месту запуска
ВПеременная позволяет не переписывать один и тот же адрес в каждом запросе вручную
ГУ Dev и Prod окружений структура запросов обязательно должна отличаться

Подсказка: Сверь каждое утверждение с итогом урока — одно из четырёх противоречит идее одинаковой структуры запросов между окружениями.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Контрольный вопрос. Как называется набор переменных, привязанный к конкретному месту запуска (например, Dev или Prod)? Ответь одним словом по-русски.

Подсказка: Термин звучит как место, где что-то выполняется — вспомни заголовок раздела урока.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Задание. В Postman используется переменная base_url. Как правильно записать её в адресе запроса перед путём /api/courses? Ответь строкой целиком.

Подсказка: Посмотри на пример из урока с переменной base_url и синтаксис двойных фигурных скобок.

✅ Готово, если: ты ввёл(а) верный ответ, и онлайн-проверка его приняла.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Задание. У вас собрана коллекция «Курсы» с пятью запросами, использующими переменную {{base_url}}. Нужно проверить эту же коллекцию на боевом сервере вместо тестового. Сколько запросов коллекции придётся переписать вручную, если переменная base_url есть в окружении Prod? Ответь числом.

Подсказка: Вспомни, что именно меняется при переключении окружения — сами запросы или значение переменной.

✅ Готово, если: ты ввёл(а) верный ответ, и онлайн-проверка его приняла.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Задание. Объясни в 2-3 предложениях: зачем тестировщику собирать запросы в коллекцию, а не хранить их по отдельности?

Критерий приёмки: объяснено, что коллекция группирует логически связанные запросы (например, все запросы к одному ресурсу) в одном месте, что позволяет быстро находить и повторно запускать нужный запрос при регулярных проверках (например, при каждом релизе), не собирая его заново каждый раз.

Подсказка: Вспомни пример коллекции «Курсы» из урока и то, зачем такая группировка нужна при регулярных проверках.

✅ Готово, если: ответ раскрывает то, что просит критерий приёмки в задании выше.

Онлайн-проверка ответа появится позже

Задание. Тестировщик получил задание: проверить одну и ту же коллекцию из 20 запросов сначала на тестовом сервере (Dev), а затем на боевом (Prod), прежде чем релиз попадёт к пользователям. Опиши в 2-3 предложениях, как правильно организовать это в Postman с помощью окружений и переменных, чтобы не тратить время на ручное редактирование запросов.

Критерий приёмки: описано, что нужно один раз собрать коллекцию с переменной вроде {{base_url}} вместо жёстко прописанного адреса, создать два окружения (Dev и Prod) с разным значением base_url, и просто переключать окружение перед каждым прогоном — сами 20 запросов при этом не переписываются.

Подсказка: Вспомни, что именно в Postman позволяет не трогать сами запросы при смене сервера — а меняется только одно значение.

✅ Готово, если: ответ раскрывает то, что просит критерий приёмки в задании выше.

Онлайн-проверка ответа появится позже

Что дальше

Теперь вы умеете собирать коллекцию запросов и переключать окружения. Но что делать, если интерфейса продукта ещё нет, а API уже готов? В следующем уроке разберём тестирование по документации — Swagger и OpenAPI.

Назад  ·  ↑ В начало урока  ·  ⌂ В начало курса  ·  Вперёд →

Школа Виктора Комлева