Использование переменных окружения в 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 и можно пользоваться этоми запросами для получения информации о сериалах.
