Колекції, оточення і змінні
Колекція — набір запитів по одному API, розкладених по папках (наприклад Auth, Accounts, Transfers). На рівні колекції і папки можна задати спільну авторизацію, змінні й скрипти — запити їх успадковують. Це головна причина правильно будувати структуру: токен і baseUrl налаштовуються один раз, а не в кожному запиті.
Оточення (Environment) — набір змінних під конкретний стенд: dev, stage, prod. Одна колекція, три оточення — перемикаєш стенд одним списком у правому верхньому куті.
Змінна вставляється через подвійні фігурні дужки в URL, заголовки й тіло:
{{baseUrl}}/accounts/{{accountId}}
Вбудовані динамічні змінні генерують дані: {{$guid}}, {{$timestamp}}, {{$randomEmail}}, {{$randomInt}}. Вони зручні, коли кожен запуск має створювати унікального користувача чи унікальний ключ, щоб не ловити 409 на дублікатах.
На співбесіді: Я тримаю запити в колекції з папками за ресурсами, а авторизацію й спільні змінні задаю на рівні колекції. Стенди розводжу через environments, тож та сама колекція запускається на dev і stage без змін.
Області змінних і секрети
Області змінних — від широкої до вузької. Якщо імена збігаються, перемагає вузька.
| Область | Де діє | Типове використання | У скрипті |
|---|
| Global | Усе робоче середовище | Рідко; краще уникати | pm.globals |
| Collection | Одна колекція | Версія API, сталі налаштування | pm.collectionVariables |
| Environment | Активне оточення | baseUrl, тестові логіни, токен | pm.environment |
| Data | Одна ітерація Runner | Рядок з CSV або JSON | pm.iterationData |
| Local | Один запит або прогін | Тимчасові значення | pm.variables |
pm.variables.get('x') читає значення з урахуванням пріоритету — з тієї області, що виграла. Тому якщо змінна baseUrl є і в колекції, і в оточенні, у запит піде значення з оточення.
Initial vs current value. Initial синхронізується з командою через спільний workspace. Current живе лише у тебе локально, і саме воно підставляється в запити. Токени й паролі тримай лише в current або позначай змінну типом secret, інакше вони потраплять у спільний доступ або в експортований файл.
На співбесіді: Області змінних — Global, Collection, Environment, Data і Local; за однакових імен перемагає вужча. Секрети я тримаю лише в current value або як secret, щоб вони не потрапили в спільний workspace чи експорт.