QA Interview Hub · База знань · Тести

API

Postman: структура і змінні

Колекції, оточення і змінні

Колекція — набір запитів по одному 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 або JSONpm.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 чи експорт.