postman

Тестирование API в POSTMAN

В этой статье мы коснемся некоторых базовых аспектов работы с Postman. Мы поговорим о том, как написать простой тест API, как выполнить запуск множества запросов, используя коллекции, и как работать с переменными.

Оглавление

Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.

В качестве примера мы возьмем API регистрации с логином и паролем, который работает следующим образом:

  • Необходимые данные: имя пользователя и пароль
  • Если поля с именем пользователя или пароль не заполнены, возвращается ошибка со статус-кодом 400 и сообщение “Введите имя пользователя и пароль”
  • В случае успеха возвращается статус 201 с сообщением “Пользователь успешно зарегистрировался”.
API регистрации с логином и паролем

Написание теста

Успешый кейс:

//body
{
    "username": "testuser2",
    "password": "testpassword2"
}

1. Нажмите на кнопку Тесты

2. Создайте тест для проверки статус-кода 201

pm.test("Status code is 201", function () {
    pm.response.to.have.status(201);
});

3. Нажмите кнопку Отправить, чтобы отправить запрос. В теле ответа вернется сообщение, а результаты теста покажут PASS.

Успешная регистрация, возврат сообщения в теле ответа
Тест успешно пройден, статус 201

Неудачный кейс:

//body
{
    "username": "",
    "password": ""
}

1. Нажмите на кнопку Тесты 

2. Создайте тест для проверки статус-кода 400

pm.test("Status code is 400", function () {
    pm.response.to.have.status(400);
});

3. Нажмите на кнопку Отправить, чтобы отправить запрос. В теле ответа вернется сообщение об ошибке, а результаты тестирования покажут PASS.

Регистрация не пройдена, возврат сообщения об ошибке
Тест успешно пройден, статус 400

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

Выполнение множества запросов

1. Создайте коллекцию и поместите в нее API-запрос.

2. Нажмите на кебаб-меню в коллекции.

3. Нажмите на кнопку Запустить коллекцию.

Кнопка "Запустить коллекцию"

4. Вы перейдете на страницу запуска (Runner).

5. В разделе Конфигурация запуска (Run configuration) укажите количество запусков (Iterations). В данном случае мы поставили 100:

Раздел Конфигурация запуска (Run configuration)

6. Нажмите кнопку Выполнить.

7. Запрос выполнится 100 раз и покажет результат, включающий следующие параметры:

  • Количество запусков
  • Продолжительность
  • Среднее время ответа
  • Результат теста
Результат запуска множества запросов

Выполнение множества запросов с использованием различных входных данных

В предыдущем случае мы работали с одними и теми же данными. Давайте теперь рассмотрим работу с разными именами пользователей и паролями.

1. Измените тело запроса так, чтобы оно стало параметром для получения данных из CSV-файла:

{
    "username": "{{username}}",
    "password": "{{password}}"
}

2. Подготовьте CSV-файл, используйте такие же имена столбцов, как названия параметров в теле. В данном случае мы используем имя пользователя и пароль:

3. Нажмите на кебаб-меню в коллекции.

4. Нажмите кнопку Запустить коллекцию.

5. Нажмите кнопку Выбрать файл в разделе Конфигурация запуска.

6. Выберите файл CSV.

Загрузка файла CSV в разделе Конфигурация запуска

7. Вы можете нажать на кнопку Preview для предварительного просмотра выбранного CSV-файла.

8. Нажмите кнопку Запуск.

9. Запустится API регистрации, и вы сможете увидеть результат.

Результат запуска множественных запросов с различными входными данными

Установка значения из ответа в переменную окружения

Окружение – это группа переменных, значения которых вы можете менять в зависимости от контекста работы в Postman. После того как вы создали окружение, вы можете добавить новые переменные окружения, изменить начальные или текущие значения, или удалить переменные.

Предположим, что в теле ответа возвращается имя пользователя:

{
    "message": "User signed up successfully",
    "username": "testusername"
}

Нам нужно установить значение имени пользователя в переменную окружения username.

1. Создайте окружение, нажав кнопку Добавить в разделе “Окружение”.

Создание окружения

2. Задайте имя окружения.

3. Добавьте в него переменную username.

Добавление переменной в окружение

4. Сохраните изменения.

5. Вернитесь на страницу запроса API и перейдите в раздел Тесты.

6. Напишите дополнительные тесты для установки значения в переменную окружения.

const response = pm.response.json();
pm.environment.set("username", response.username);

7. Выберите окружение, которое было создано.

Выбор тестового окружения

8. Отправьте запрос API.

9. Проверьте окружение, вы увидите значение в переменной username.

Для переменной username установлено значение testusername.

Надеемся, эта статья была вам полезной!

Перевод статьи «POSTMAN 101».

2 комментария к “Тестирование API в POSTMAN”

  1. Пингбэк: Тест-кейсы для тестирования API

  2. Пингбэк: Как протестировать приложение с помощью Postman и контейнеров Docker

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *