Ответ
Переменные в Postman — это механизм для хранения и повторного использования значений, что делает коллекции динамическими, поддерживаемыми и пригодными для разных окружений.
Типы переменных и их область видимости (от самой узкой к широкой):
- Локальные (Local Variables): Существуют только в рамках выполнения одного запроса или сценария. Идеальны для временных вычислений.
- Переменные коллекции (Collection Variables): Доступны для всех запросов внутри конкретной коллекции. Используются для данных, общих для сценария (например,
base_urlAPI). - Переменные окружения (Environment Variables): Привязаны к конкретному окружению (dev, staging, prod). Позволяют быстро переключать контекст (URL, ключи API).
- Глобальные переменные (Global Variables): Доступны во всех коллекциях и окружениях в рамках рабочего пространства. Используются для редко меняющихся общих значений.
- Переменные данных (Data Variables): Импортируются из внешних CSV/JSON файлов для запуска итераций в Collection Runner.
Синтаксис и использование:
- Ссылка на переменную:
{{variable_name}}в URL, headers, body. -
Установка/получение в скриптах (JavaScript):
// Установка переменной в текущем окружении pm.environment.set("auth_token", "eyJhbGciOiJ..."); pm.collectionVariables.set("user_id", 12345); // Получение значения переменной const token = pm.environment.get("auth_token"); const baseUrl = pm.collectionVariables.get("base_url"); // Удаление переменной pm.environment.unset("temp_value"); - Использование в тестах:
// Проверка, что переменная установлена и имеет ожидаемое значение pm.test("Auth token is present", function () { pm.expect(pm.environment.get("auth_token")).to.be.a('string').and.to.not.be.empty; });Динамические переменные: Postman предоставляет предустановленные динамические переменные, например
{{$timestamp}}(текущее время) или{{$guid}}(генерация UUID), полезные для создания уникальных данных в запросах.