Skip to content

Repository files navigation

Reqres — автоматизация API

API test automation with Java 21, OkHttp, REST Assured and Retrofit.

Compile and optional API tests

В проекте один набор операций с пользователями Reqres проверяется тремя способами обращения к API. Это позволяет сравнить ручное построение HTTP-запросов, декларативные спецификации REST Assured и типизированный Retrofit-интерфейс.

Что проверяется

  • GET: получение пользователя и обработка отсутствующего ресурса.
  • POST: создание пользователя.
  • PUT: обновление пользователя.
  • DELETE: удаление пользователя.
  • Статусы HTTP, содержимое ответов и сценарии без API-ключа.
  • 12 тестовых классов — по четыре на каждый клиент.

Reqres — внешний демонстрационный API. Проверки описывают ожидаемый контракт, зафиксированный в коде; доступность сервиса, тариф и требования к ключу могут меняться. POST/PUT в демонстрационном API не следует считать доказательством долговременного сохранения данных.

Стек

Java 21 · Gradle 9.3.0 · JUnit 5.10.2 · AssertJ 3.27.3

OkHttp 4.12.0 · REST Assured 5.5.7 · Retrofit 2.11.0 · Jackson/Gson · Lombok

Структура

Каталог Назначение
src/main/java/reqres/clients OkHttp-клиент
src/main/java/reqres/models DTO запросов и ответов
src/main/java/reqres/restassured/models Модели Java Record
src/main/java/reqres/retrofit Retrofit-сервис и фабрика клиента
src/test/java/reqres Тесты и базовые классы

Запуск

Установите JDK 21. Gradle загружается через Wrapper. Для сетевых тестов нужен действующий ключ Reqres с доступом к используемым endpoints.

git clone https://github.com/rootofevi1/api-testing-reqres.git
cd api-testing-reqres
./gradlew testClasses
export REQRES_API_KEY='<ваш ключ>'
./gradlew test

Windows PowerShell:

$env:REQRES_API_KEY = '<ваш ключ>'
.\gradlew.bat test

Ключ не входит в репозиторий. Также поддерживается Gradle-свойство apiKey, например в личном ~/.gradle/gradle.properties.

Выбор клиента:

./gradlew test --tests 'reqres.tests.*'
./gradlew test --tests 'reqres.restassured.tests.*'
./gradlew test --tests 'reqres.retrofit.tests.*'

Отчёты и CI

HTML: build/reports/tests/test/index.html. XML: build/test-results/test/.

Автоматическая CI-проверка компилирует код без ключа. Сетевые тесты запускаются вручную в Actions с включённым run_api_tests и настроенным Repository Secret REQRES_API_KEY. Результат компиляции не является результатом сетевых тестов.

Опубликованы код решения и необходимая конфигурация. Тексты учебных заданий, материалы курса и история исходного учебного репозитория не включены.

Александр · Junior QA/AQA Engineer · Email · Telegram

About

API test automation portfolio: Reqres CRUD checks with OkHttp, REST Assured and Retrofit · Java 21.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages