BH     TT     Postman     Переменные    

!!! Если пересылается кому либо коллекция без переменных окружения,
        то надо их объявлять в пререквесте, как глобальные
!!! Не путать запись через get и запись через {{ }}
!!! Для всех тестов в одной коллекции можно задавать общую авторизацию итп в переменных на уровне папки (8:25 в Postman-1-13)
// Переменные окружения --> в двойных фигурных скобках {{ }}
// Сохранение переменной в Pre-request Script --> pm.environment.set("randEmail", randEmail);
// Получение переменной в Pre-request Script --> pm.environment.get("variableName");
// Получение переменной в Tests --> pm.variables.get("varName")

        //     1.   Info
        //     2.   Стандартные переменные Postman-a
        //     3.   Dynamic variables
        //     4.   Body -> form-data -> VALUE
        //     5.   Tipps
        //     6.   Цепочка тестов
        //     7.   Tests
        //     8.   Скачать переменные окружения

        //     1.   Info

--   Принцип DRY (драй) // Don't Repeat Yourself // Переиспользуй значение, не дублируй его (Используй переменные)

        //     2.   Стандартные переменные Postman-a

--   5 уровней переменных: local - data - environment collection - global

local - Переменная внутри кода теста
Можно использовать: 1. В другом Environment и 2. В Pre-request и Tests

// Обращение к local:
pm.variables.set("key", value); // value может быть variable, object, array,...
pm.variables.get("key");

data -- Встроенная в Postman переменная, берущее значение из колонки загружаемого файла
Можно использовать:   Везде кроме другой коллекции
// Обращение к data:
data.columnName
pm.iterationData.get("columnName")
pm.variables.get("columnName")

environment --
// Можно использовать:   Везде кроме другого Environment
// Создание
pm.environment.set(a,b);
Через GUI Postman-a
// Получение
pm.environment.get("key");
pm.variables.get("key");
// Очистка
pm.environment.unset("key");

colection --
// Можно использовать:   Везде, кроме другой коллекции
// Создание
pm.environment.set(a,b);
Через GUI Postman-a: Выбрать Collection --> В свойствах коллекции --> Edit --> Variables
// Получение
pm.variables.get("x");
// Очистка
Невозможно

global --
// Можно использовать:   Везде
// Создание
pm.globals.set("key", "value");
Через GUI Postman-a:   Шестерёнка справа --> Global
// Очистка
pm.globals.unset("key");

        3.   Dynamic variables (Динамические переменные / Рандомные переменные)

learning.postman.com    
Начинаются с символа $ и стоят внутри {{ }}
$guid   $timestamp   $isoTimestamp   и много $random...

Нельзя их использовать в Sandbox (Предскриптах и скриптах (Tests)) ???
Можно их использовать в URL , Headers , Body
// Пример использования в Pre-request Script
randEmail = pm.variables.replaceIn("randomuser{{$randomInt}}@mail.ru");

        //     4.   Body -> form-data -> VALUE

Body -> form-data -> VALUE -> test_video_{{$randomInt}}@mail.ru

        //     5.   Tipps

При вставке внутрь строки автоподсказки не появляются после {{ -> Написать пробел -> Выбрать что надо -> Удалить пробел

        //     6.   Цепочка тестов

Тест 1 --> Что-то там в Body и в Tests: pm.environment.set("varName", varValue);
Тест 2 --> В Body: "varName" : "{{varName}}"

        //     7.   Tests

pm.variables.get("varName")


        //     8.   Скачать переменные окружения

Можно. Отдельно от коллекции. 3 балки --> итд