Использование переменных окружения в Postman
Использование переменных окружения в Postman
Продолжу тему про Postman.
В этой заметке немного расскажу про использование переменных в Postman.
JavaScript API
Во-первых, напомню, что переменные можно использовать в JavaScript API Postman. Например, для тестов или в pre-request:
console.log(pm.variables.get('param'));
console.log(pm.environment.get('param'));
console.log(pm.globals.get('param'));
Объекты variables
, globals
и environment
объекта pm
хранят значения переменных из соответствующих scope-ов: из переменных коллекции, из глобального scope и из переменных окружения. Приоритеты получения переменной:
pm.environment
содержит значения переменных, означенных для окружения,pm.variables
содержит значения переменных, означенных для коллекции,pm.globals
содержит значения переменных, означенных в глобальном окружении.
То есть в первую очередь переменная ищется в environment
, далее в variables
и, в конце, в globals
.
environment
, globals
содержат методы set('parav_name', 'param_value')
для записи значения в соответствующий scope.
Использование через {{param}}
Значения из переменных можно получить в адресной строке, заголовках и в запросе при помощи синтаксиса {{param}}
:
Что ещё?
В нашей команде это используем следующим образом.
У нас имеется коллекция запросов к разрабатываемым сервисам. В коллекции адрес сервисов не указываются - вместо них прописаны подстановки из переменных: {{service_url}}
. В переменной {{service_url}}
коллекции (эта возможность доступна в бесплатной версии) указано значение по-умолчанию (адрес демо-стенда, т.к. эту коллекцию могут использовать все заинтересованные). Каждый в команде в своём окружении указывает адрес своего сервера для отладки сервисов. Таким образом достаточно в одном месте переопределить значение переменной {{service_url}}
и работать с нужным сервисом.
В качестве демо с создал коллекцию, которая обращается к API сайта thetvdb. В ней указаны переменные коллекции apikey
, userkey
, username
со значениями-заглушками и service_address
с адресом API.
Переменные apikey
, userkey
, username
необходимо переопределить в переменных окружения значениями полученными при регистрации на сайте thetvdb и можно пользоваться этоми запросами для получения информации о сериалах.