OTUS Homework 5: Stub & API Testing (API-helpers)
В этом проекте реализован stub-сервер на WireMock, API-helpers для HTTP/SOAP и автотесты контрактов/схем, плюс UI-проверка stub frontend через Cucumber.
Что реализовано
- Stub endpoints на WireMock:
/user/get/{id}- получение оценки пользователя/cource/get/all- получение списка курсов/user/get/all- получение списка пользователей
- Контракты и схемы:
- контрактные тесты для users/courses/score
- JSON schema тесты для users/courses/score
- API-helpers:
HttpHelperSoapHelper
- Дополнительно (optional):
SqlHelperMqHelper
- Stub frontend:
- endpoint
/frontend - Cucumber-сценарий проверки frontend
- endpoint
- Selenoid support:
- запуск UI-тестов через
-Dbrowser=selenoid
- запуск UI-тестов через
Что проверяется в Cucumber
- Для homework_5 в раннер подключен только
features/stub_frontend.feature. features/catalog.featureиCatalogStepsсохранены в проекте, но в текущий раннер HW5 не входят.
Команды запуска
Основной прогон (API + stub + helpers):
mvn test
Только ключевые тесты homework_5:
mvn "-Dtest=HttpHelperTest,SoapHelperTest,SqlHelperTest,MqHelperTest,StubContractTest,StubSchemaTest" test
UI Cucumber (stub frontend):
mvn -Pui-tests test
UI Cucumber через Selenoid:
mvn -Pui-tests "-Dbrowser=selenoid" "-Dselenoid.url=http://localhost:4444/wd/hub" test
Полная проверка качества:
mvn verify
Docker/Selenoid
Если UI-тесты через Selenoid не нужны, этот раздел можно пропустить.
Предварительно:
- Установить Docker Desktop.
- Убедиться, что Docker запущен.
Поднять инфраструктуру:
docker compose up -d
Проверка, что Selenoid поднялся:
- Selenoid API:
http://localhost:4444/wd/hub - Selenoid UI:
http://localhost:8081
После этого можно запускать UI-тесты через Selenoid:
mvn -Pui-tests "-Dbrowser=selenoid" "-Dselenoid.url=http://localhost:4444/wd/hub" test
Или выполнить полный пайплайн одной командой (поднимет Docker/Selenoid и запустит все проверки):
powershell -ExecutionPolicy Bypass -File .\scripts\run-full-pipeline.ps1
Description
Languages
Java
100%