В прошлом уроке мы разобрались, что такое 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 отправляет HTTP-запросы к API и показывает ответ сервера, без кода;
— коллекция — набор сохранённых запросов, сгруппированных логически (например, все запросы к одному ресурсу);
— переменная вида{{base_url}}переиспользуется в запросах вместо жёстко прописанного значения;
— окружение — набор переменных под конкретное место запуска (Dev/Prod); при смене окружения меняется одна переменная, а не все запросы коллекции.
Контрольный вопрос. Что делает Postman?
Подсказка: В начале урока прямо описано, что делает этот инструмент с запросами и ответами.
Проверить ответ →
Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →
Контрольный вопрос. Что такое коллекция в Postman?
Подсказка: В уроке приведён пример коллекции «Курсы» — подумай, что в неё входит.
Проверить ответ →
Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →
Контрольный вопрос. Как в Postman обозначается переменная внутри запроса?
Подсказка: В уроке показан пример с переменной base_url — обрати внимание на скобки вокруг имени.
Проверить ответ →
Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →
Контрольный вопрос. Что произойдёт с запросами коллекции, если переключить окружение с Dev на Prod?
Подсказка: В уроке прямо сказано, что меняется при переключении окружения — а что остаётся неизменным.
Проверить ответ →
Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →
Контрольный вопрос. Какие из утверждений про коллекции, окружения и переменные Postman верны (выбери все подходящие)?
Выберите все верные варианты.
Подсказка: Сверь каждое утверждение с итогом урока — одно из четырёх противоречит идее одинаковой структуры запросов между окружениями.
Проверить ответ →
Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →
Контрольный вопрос. Как называется набор переменных, привязанный к конкретному месту запуска (например, 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.
