Автотесты для 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.

Реализованные сценарии тестирования

  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. Клонируйте репозиторий:

    git clone https://git.kovbasa.ru/otus-autotests/hw3.git
    
    
  2. Перейдите в папку проекта:

    cd hw3
    
    
  3. Запустите тесты командой:

    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, описывает 
основные сценарии тестирования, структуру проекта и шаги для запуска автотестов. Вы можете его адаптировать под 
свои нужды или дополнить дополнительной информацией.
Description
No description provided
Readme 86 KiB
Languages
Java 100%