В этой статье мы коснемся некоторых базовых аспектов работы с Postman. Мы поговорим о том, как написать простой тест API, как выполнить запуск множества запросов, используя коллекции, и как работать с переменными.
Оглавление
- Написание теста
- Выполнение множества запросов
- Выполнение множества запросов с использованием различных входных данных
- Установка значения из ответа в переменную окружения
Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.
В качестве примера мы возьмем API регистрации с логином и паролем, который работает следующим образом:
- Необходимые данные: имя пользователя и пароль
- Если поля с именем пользователя или пароль не заполнены, возвращается ошибка со статус-кодом 400 и сообщение “Введите имя пользователя и пароль”
- В случае успеха возвращается статус 201 с сообщением “Пользователь успешно зарегистрировался”.
![API регистрации с логином и паролем](https://qarocks.ru/wp-content/uploads/2024/01/image-2-1024x671.png)
Написание теста
Успешый кейс:
//body { "username": "testuser2", "password": "testpassword2" }
1. Нажмите на кнопку Тесты
2. Создайте тест для проверки статус-кода 201
pm.test("Status code is 201", function () { pm.response.to.have.status(201); });
3. Нажмите кнопку Отправить, чтобы отправить запрос. В теле ответа вернется сообщение, а результаты теста покажут PASS.
![Успешная регистрация, возврат сообщения в теле ответа](https://qarocks.ru/wp-content/uploads/2024/01/image-4-1024x671.png)
![Тест успешно пройден, статус 201](https://qarocks.ru/wp-content/uploads/2024/01/image-3-1024x671.png)
Неудачный кейс:
//body { "username": "", "password": "" }
1. Нажмите на кнопку Тесты
2. Создайте тест для проверки статус-кода 400
pm.test("Status code is 400", function () { pm.response.to.have.status(400); });
3. Нажмите на кнопку Отправить, чтобы отправить запрос. В теле ответа вернется сообщение об ошибке, а результаты тестирования покажут PASS.
![Регистрация не пройдена, возврат сообщения об ошибке](https://qarocks.ru/wp-content/uploads/2024/01/image-5-1024x671.png)
![Тест успешно пройден, статус 400](https://qarocks.ru/wp-content/uploads/2024/01/image-6-1024x671.png)
Предположим, что вы хотите запустить API регистрации 100 раз, для этого вам придется 100 раз самостоятельно нажать кнопку Отправить. К счастью, в Postman есть функционал, значительно упрощающий отправку множества запросов.
Выполнение множества запросов
1. Создайте коллекцию и поместите в нее API-запрос.
2. Нажмите на кебаб-меню в коллекции.
3. Нажмите на кнопку Запустить коллекцию.
![Кнопка "Запустить коллекцию"](https://qarocks.ru/wp-content/uploads/2024/01/image-7.png)
4. Вы перейдете на страницу запуска (Runner).
5. В разделе Конфигурация запуска (Run configuration) укажите количество запусков (Iterations). В данном случае мы поставили 100:
![Раздел Конфигурация запуска (Run configuration)](https://qarocks.ru/wp-content/uploads/2024/01/image-8-1024x671.png)
6. Нажмите кнопку Выполнить.
7. Запрос выполнится 100 раз и покажет результат, включающий следующие параметры:
- Количество запусков
- Продолжительность
- Среднее время ответа
- Результат теста
![Результат запуска множества запросов](https://qarocks.ru/wp-content/uploads/2024/01/image-9-1024x671.png)
Выполнение множества запросов с использованием различных входных данных
В предыдущем случае мы работали с одними и теми же данными. Давайте теперь рассмотрим работу с разными именами пользователей и паролями.
1. Измените тело запроса так, чтобы оно стало параметром для получения данных из CSV-файла:
{ "username": "{{username}}", "password": "{{password}}" }
2. Подготовьте CSV-файл, используйте такие же имена столбцов, как названия параметров в теле. В данном случае мы используем имя пользователя и пароль:
![](https://qarocks.ru/wp-content/uploads/2024/01/image-10.png)
3. Нажмите на кебаб-меню в коллекции.
4. Нажмите кнопку Запустить коллекцию.
5. Нажмите кнопку Выбрать файл в разделе Конфигурация запуска.
6. Выберите файл CSV.
![Загрузка файла CSV в разделе Конфигурация запуска](https://qarocks.ru/wp-content/uploads/2024/01/image-11-1024x671.png)
7. Вы можете нажать на кнопку Preview для предварительного просмотра выбранного CSV-файла.
8. Нажмите кнопку Запуск.
9. Запустится API регистрации, и вы сможете увидеть результат.
![Результат запуска множественных запросов с различными входными данными](https://qarocks.ru/wp-content/uploads/2024/01/image-12-1024x671.png)
Установка значения из ответа в переменную окружения
Окружение – это группа переменных, значения которых вы можете менять в зависимости от контекста работы в Postman. После того как вы создали окружение, вы можете добавить новые переменные окружения, изменить начальные или текущие значения, или удалить переменные.
Предположим, что в теле ответа возвращается имя пользователя:
{ "message": "User signed up successfully", "username": "testusername" }
Нам нужно установить значение имени пользователя в переменную окружения username
.
1. Создайте окружение, нажав кнопку Добавить в разделе “Окружение”.
![Создание окружения](https://qarocks.ru/wp-content/uploads/2024/01/image-13-1024x848.png)
2. Задайте имя окружения.
3. Добавьте в него переменную username
.
![Добавление переменной в окружение](https://qarocks.ru/wp-content/uploads/2024/01/image-14-1024x671.png)
4. Сохраните изменения.
5. Вернитесь на страницу запроса API и перейдите в раздел Тесты.
6. Напишите дополнительные тесты для установки значения в переменную окружения.
const response = pm.response.json(); pm.environment.set("username", response.username);
7. Выберите окружение, которое было создано.
![Выбор тестового окружения](https://qarocks.ru/wp-content/uploads/2024/01/image-15.png)
8. Отправьте запрос API.
9. Проверьте окружение, вы увидите значение в переменной username
.
![Для переменной username установлено значение testusername.](https://qarocks.ru/wp-content/uploads/2024/01/image-16-1024x671.png)
Надеемся, эта статья была вам полезной!
Перевод статьи «POSTMAN 101».
Пингбэк: Тест-кейсы для тестирования API
Пингбэк: Как протестировать приложение с помощью Postman и контейнеров Docker