В этой статье мы коснемся некоторых базовых аспектов работы с Postman. Мы поговорим о том, как написать простой тест API, как выполнить запуск множества запросов, используя коллекции, и как работать с переменными.
Оглавление
- Написание теста
- Выполнение множества запросов
- Выполнение множества запросов с использованием различных входных данных
- Установка значения из ответа в переменную окружения
Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.
В качестве примера мы возьмем API регистрации с логином и паролем, который работает следующим образом:
- Необходимые данные: имя пользователя и пароль
- Если поля с именем пользователя или пароль не заполнены, возвращается ошибка со статус-кодом 400 и сообщение “Введите имя пользователя и пароль”
- В случае успеха возвращается статус 201 с сообщением “Пользователь успешно зарегистрировался”.
Написание теста
Успешый кейс:
//body { "username": "testuser2", "password": "testpassword2" }
1. Нажмите на кнопку Тесты
2. Создайте тест для проверки статус-кода 201
pm.test("Status code is 201", function () { pm.response.to.have.status(201); });
3. Нажмите кнопку Отправить, чтобы отправить запрос. В теле ответа вернется сообщение, а результаты теста покажут PASS.
Неудачный кейс:
//body { "username": "", "password": "" }
1. Нажмите на кнопку Тесты
2. Создайте тест для проверки статус-кода 400
pm.test("Status code is 400", function () { pm.response.to.have.status(400); });
3. Нажмите на кнопку Отправить, чтобы отправить запрос. В теле ответа вернется сообщение об ошибке, а результаты тестирования покажут PASS.
Предположим, что вы хотите запустить API регистрации 100 раз, для этого вам придется 100 раз самостоятельно нажать кнопку Отправить. К счастью, в Postman есть функционал, значительно упрощающий отправку множества запросов.
Выполнение множества запросов
1. Создайте коллекцию и поместите в нее API-запрос.
2. Нажмите на кебаб-меню в коллекции.
3. Нажмите на кнопку Запустить коллекцию.
4. Вы перейдете на страницу запуска (Runner).
5. В разделе Конфигурация запуска (Run configuration) укажите количество запусков (Iterations). В данном случае мы поставили 100:
6. Нажмите кнопку Выполнить.
7. Запрос выполнится 100 раз и покажет результат, включающий следующие параметры:
- Количество запусков
- Продолжительность
- Среднее время ответа
- Результат теста
Выполнение множества запросов с использованием различных входных данных
В предыдущем случае мы работали с одними и теми же данными. Давайте теперь рассмотрим работу с разными именами пользователей и паролями.
1. Измените тело запроса так, чтобы оно стало параметром для получения данных из CSV-файла:
{ "username": "{{username}}", "password": "{{password}}" }
2. Подготовьте CSV-файл, используйте такие же имена столбцов, как названия параметров в теле. В данном случае мы используем имя пользователя и пароль:
3. Нажмите на кебаб-меню в коллекции.
4. Нажмите кнопку Запустить коллекцию.
5. Нажмите кнопку Выбрать файл в разделе Конфигурация запуска.
6. Выберите файл 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
.
Надеемся, эта статья была вам полезной!
Перевод статьи «POSTMAN 101».
Пингбэк: Тест-кейсы для тестирования API
Пингбэк: Как протестировать приложение с помощью Postman и контейнеров Docker