Автотесты для Petstore API
Этот проект содержит набор автотестов для Swagger Petstore API с использованием библиотек Rest-assured и JUnit 5. Проект оформлен как Maven-проект с поддержкой JDK 24.
Структура проекта
hw3/
├── pom.xml # Maven-конфигурация
├── README.md # Readme файл
└── src
└── test
└── java
└── ru
└── otus
└── petstore
└── PetStoreTests.java # Автотесты
Обзор
Rest-assured — это библиотека для тестирования REST API, предоставляющая удобный DSL (domain-specific language) для формирования HTTP-запросов, их отправки и проверки ответов. В данном проекте с её помощью отправляются GET и POST запросы к Petstore API, а также производятся проверки кодов ответа и содержимого JSON.
Реализованные сценарии тестирования
-
Тест: Поиск питомцев со статусом "available"
Отправляется GET-запрос на/pet/findByStatusс параметромstatus=available.
Ожидаемый результат: HTTP 200 и у всех питомцев в ответе значение поляstatusравно"available". -
Тест: Поиск питомцев по несуществующему статусу
Отправляется GET-запрос с параметромstatus=invalidStatus.
Ожидаемый результат: HTTP 200 и пустой массив в ответе. -
Тест: Успешное создание питомца
Отправляется POST-запрос с корректными данными для создания питомца.
Ожидаемый результат: HTTP 200 и возвращаемое полеnameсовпадает с переданным значением. -
Тест: Ошибка при создании питомца без поля "name"
Отправляется POST-запрос, в котором отсутствует обязательное полеname.
Ожидаемый результат: API возвращает ошибку (код 400 или 405).
PS. Почему-то сервис отдает ответ 200 я решил оставить данный тест. Показать что вся цепочка тестов не останавливается и продолжает работать дальше -
Тест: Ошибка при передаче некорректного JSON
Отправляется POST-запрос с ошибочным JSON (без закрывающей фигурной скобки).
Ожидаемый результат: API возвращает ошибку (код 400 или 405).
Как запустить тесты
-
Клонируйте репозиторий:
git clone https://git.kovbasa.ru/otus-autotests/hw3.git -
Перейдите в папку проекта:
cd hw3 -
Запустите тесты командой:
mvn test
После выполнения тестов в консоли вы увидите нумерованные сообщения с результатами (например, "1. Test: Find pets by 'available' status - Passed").
Зависимости
-
Rest-assured: 4.5.1
-
JUnit Jupiter (API & Engine): 5.9.1
Лицензия
Проект предназначен для образовательных целей.
---
Файл REDME.md содержит краткое описание проекта, объясняет суть реализации тестов с Rest-assured, описывает
основные сценарии тестирования, структуру проекта и шаги для запуска автотестов. Вы можете его адаптировать под
свои нужды или дополнить дополнительной информацией.