Как в Postman сохранить тело ответа API в переменную?

«Как в Postman сохранить тело ответа API в переменную?» — вопрос из категории Инструменты тестирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, тело ответа можно сохранить в переменную через скрипт во вкладке Tests. Это основа для создания цепочек запросов.

1. Сохранение значения из JSON-ответа:

// В скрипте 'Tests' текущего запроса
let jsonData = pm.response.json();
pm.environment.set("auth_token", jsonData.token); // В переменную окружения
pm.collectionVariables.set("last_user_id", jsonData.user.id); // В переменную коллекции

2. Сохранение всего тела (как текст):

pm.environment.set("raw_response", pm.response.text());

3. Использование переменной в следующем запросе:

  • В URL, параметрах или теле запроса используйте синтаксис {{variable_name}}.
    {
    "Authorization": "Bearer {{auth_token}}",
    "userId": "{{last_user_id}}"
    }

Типы переменных в Postman:

  • Локальные (pm.variables.set()) — только для текущего запроса.
  • Коллекции (pm.collectionVariables.set()) — для всех запросов в коллекции.
  • Окружения (pm.environment.set()) — для выбранного environment (наиболее гибкий вариант).
  • Глобальные (pm.globals.set()) — для всех запросов (используйте осторожно).