77 lines
4.2 KiB
Markdown
77 lines
4.2 KiB
Markdown
# Автотесты для Petstore API
|
||
|
||
Этот проект содержит набор автотестов для [Swagger Petstore API](https://petstore.swagger.io/v2) с использованием библиотек **Rest-assured** и **JUnit 5**. Проект оформлен как Maven-проект с поддержкой JDK 24.
|
||
|
||
## Структура проекта
|
||
```plaintext
|
||
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.
|
||
|
||
### Реализованные сценарии тестирования
|
||
|
||
1. **Тест: Поиск питомцев со статусом "available"**
|
||
Отправляется GET-запрос на `/pet/findByStatus` с параметром `status=available`.
|
||
**Ожидаемый результат:** HTTP 200 и у всех питомцев в ответе значение поля `status` равно `"available"`.
|
||
|
||
2. **Тест: Поиск питомцев по несуществующему статусу**
|
||
Отправляется GET-запрос с параметром `status=invalidStatus`.
|
||
**Ожидаемый результат:** HTTP 200 и пустой массив в ответе.
|
||
|
||
3. **Тест: Успешное создание питомца**
|
||
Отправляется POST-запрос с корректными данными для создания питомца.
|
||
**Ожидаемый результат:** HTTP 200 и возвращаемое поле `name` совпадает с переданным значением.
|
||
|
||
4. **Тест: Ошибка при создании питомца без поля "name"**
|
||
Отправляется POST-запрос, в котором отсутствует обязательное поле `name`.
|
||
**Ожидаемый результат:** API возвращает ошибку (код 400 или 405).
|
||
|
||
5. **Тест: Ошибка при передаче некорректного JSON**
|
||
Отправляется POST-запрос с ошибочным JSON (без закрывающей фигурной скобки).
|
||
**Ожидаемый результат:** API возвращает ошибку (код 400 или 405).
|
||
|
||
## Как запустить тесты
|
||
|
||
1. **Клонируйте репозиторий:**
|
||
```bash
|
||
git clone https://git.kovbasa.ru/otus-autotests/hw3.git
|
||
|
||
2. **Перейдите в папку проекта:**
|
||
|
||
```bash
|
||
cd hw3
|
||
|
||
3. **Запустите тесты командой:**
|
||
```bash
|
||
mvn test
|
||
|
||
После выполнения тестов в консоли вы увидите нумерованные сообщения с результатами (например, "1. Test: Find pets by
|
||
'available' status - Passed").
|
||
|
||
## Зависимости
|
||
- **Rest-assured**: 4.5.1
|
||
|
||
- **JUnit Jupiter (API & Engine)**: 5.9.1
|
||
|
||
## Лицензия
|
||
|
||
Проект предназначен для образовательных целей.
|
||
```
|
||
---
|
||
Этот файл **README.md** даёт краткое описание проекта, объясняет суть реализации тестов с Rest-assured, описывает
|
||
основные сценарии тестирования, структуру проекта и шаги для запуска автотестов. Вы можете его адаптировать под
|
||
свои нужды или дополнить дополнительной информацией. |