Переменные и окружения (environments)

↑ 1.5 Postman: от установки до коллекций · ← Предыдущая · → Следующая

Обязательно~4 мин чтенияУровень: junior

Зачем это аналитику и PM

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

План темы

  • подстановка адреса через переменную
  • глобальные, окружения, коллекции
  • секретные значения
  • переключение dev/test/prod

Объяснение

Переменная — имя, вместо которого клиент подставляет значение перед отправкой. Окружение — набор значений одного стенда.

Как табличка на двери. На двери написано имя. Табличка test подставляет учебный хост, табличка prod — боевой. Дверь не переписывают. Если табличка не выбрана, уйдёт сырое имя и сервер не найдётся.

Области

Адрес стенда и допуск держите в окружении: они меняются вместе со стендом. То, что одинаково для всех стендов и принадлежит сценарию, может жить на коллекции. Более общие значения на всё пространство тоже бывают. Кто кого перекрывает, сверьте в справке вашей версии: список областей расширяли. Не запоминайте чужую шпаргалку десятилетней давности как закон.

Секрет не кладут в файл для чата и git. Если клиент умеет помечать значение секретным или хранить текущее отдельно от начального, используйте это и проверьте экспорт. Имя галочки запишите у себя. В примерах только маска.

flowchart TD
    A["Запрос с именем переменной"] --> B{"Какое окружение активно"}
    B -->|"test"| C["Учебный адрес"]
    B -->|"prod"| D["Боевой адрес"]

Примеры

Строка адреса в запросе:

{{baseUrl}}/todos/1

Упрощённая схема окружения, не полный файл экспорта. У настоящей выгрузки больше служебных полей.

{
  "name": "test",
  "values": [
    {"key": "baseUrl", "value": "https://jsonplaceholder.typicode.com", "enabled": true}
  ]
}

Второе окружение с https://api.example.com переключает хост, не трогая коллекцию. Токен в схему не входит.

Нюансы и подводные камни

  • Без активного окружения подстановка не случается. Это не поломка API.
  • Одно имя в коллекции и в окружении легко прочитать не оттуда. Адрес задавайте в одном месте.
  • Экспорт может унести секрет. Откройте файл до отправки.
  • Имена стендов в команде могут быть не dev и не prod. Подписывайте окружение их словами.

Практика

Два окружения, одна переменная адреса, один GET. Переключите окружение, не правя строку запроса.

Ожидаемый результат: в адресе запроса нет хоста буквами. Фактический хост меняется вместе с именем окружения. В файле для коллеги нет токена.

Вопросы с ответами

Связано с блоком Developer

Связанные темы