Освоение хранения ответов в Postman: руководство по сохранению переменных для эффективного тестирования

Postman – популярный инструмент, используемый для тестирования и разработки API. Он предоставляет множество функций для оптимизации процесса тестирования, включая возможность сохранять ответы и манипулировать ими. В этой статье мы рассмотрим различные методы сохранения ответов в переменных в Postman, что позволит вам повторно использовать данные и оптимизировать рабочий процесс тестирования.

Метод 1. Использование вкладки «Тесты».
Один из самых простых способов сохранить ответ в переменной — использовать вкладку «Тесты» в Postman. Вот пример:

// Sample request
pm.sendRequest('https://api.example.com/users', function (err, response) {
    // Save the response body in a variable
    pm.variables.set('userResponse', response.json());
});

В этом фрагменте кода мы делаем запрос к конечной точке API, а в функции обратного вызова сохраняем тело ответа в переменной с именем userResponse, используя pm.variables.set()метод.

Метод 2. Извлечение данных с помощью JSONPath:
Если вам нужно извлечь определенные данные из тела ответа, вы можете использовать JSONPath — язык запросов для JSON. Вот пример:

// Sample response
const responseBody = {
    "users": [
        {
            "id": 1,
            "name": "John"
        },
        {
            "id": 2,
            "name": "Jane"
        }
    ]
};
// Save the first user's name in a variable
pm.variables.set('firstName', responseBody.users[0].name);

В этом примере мы напрямую присваиваем значение имени первого пользователя переменной firstName, используя точечную запись.

Метод 3. Извлечение данных с помощью JSONPath с динамическими ответами.
Иногда структура ответа может меняться, что затрудняет извлечение данных с использованием фиксированных путей. В таких случаях вы можете использовать JSONPath с динамическими выражениями. Вот пример:

// Sample response
const responseBody = {
    "users": [
        {
            "id": 1,
            "name": "John"
        },
        {
            "id": 2,
            "name": "Jane"
        }
    ]
};
// Save the name of the user with ID 2 in a variable
const userId = 2;
const user = responseBody.users.find(u => u.id === userId);
pm.variables.set('userName', user.name);

В этом примере мы используем метод find()для динамического поиска пользователя с указанным идентификатором и сохранения его имени в переменной userName.

Метод 4. Использование переменных среды.
Postman позволяет работать с переменными среды, которые полезны для хранения данных между запросами. Вот пример:

  1. Создайте переменную среды:

    • Откройте приложение Postman.
    • Нажмите кнопку «Управление средой» (значок глаза) в правом верхнем углу.
    • Создайте новую среду или отредактируйте существующую.
    • Добавьте переменную, например, responseVar, и оставьте ее значение пустым.
  2. Используйте переменную среды в запросе:

    • В свой запрос добавьте тестовый скрипт, чтобы сохранить тело ответа в переменной среды.
    • Используйте метод pm.environment.set(), чтобы присвоить ответ переменной.
// Sample request test script
pm.test("Save response in environment variable", function () {
    // Save the response body in the environment variable
    pm.environment.set('responseVar', pm.response.json());
});

В этом примере мы сохраняем тело ответа в переменной среды responseVarс помощью метода pm.environment.set().

В этой статье мы рассмотрели несколько способов сохранения ответов в переменных в Postman. Эти методы позволяют эффективно хранить и повторно использовать данные во время тестирования API. Освоив хранение ответов, вы сможете улучшить рабочий процесс тестирования и повысить общую эффективность процесса тестирования API в Postman.

Не забудьте использовать возможности Postman, такие как вкладка «Тесты» и JSONPath, для извлечения конкретных данных из ответов. Кроме того, использование переменных среды может обеспечить более организованный и многоразовый подход к управлению хранилищем ответов.

Применив эти методы, вы сможете эффективно управлять хранилищем ответов в Postman, экономя время и усилия во время тестирования API.