Files
hw3/README.md

79 lines
2.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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:
- `HttpHelper`
- `SoapHelper`
- Дополнительно (optional):
- `SqlHelper`
- `MqHelper`
- Stub frontend:
- endpoint `/frontend`
- Cucumber-сценарий проверки frontend
- Selenoid support:
- запуск UI-тестов через `-Dbrowser=selenoid`
## Что проверяется в Cucumber
- Для homework_5 в раннер подключен только `features/stub_frontend.feature`.
- `features/catalog.feature` и `CatalogSteps` сохранены в проекте, но в текущий раннер HW5 не входят.
## Команды запуска
Основной прогон (API + stub + helpers):
```bash
mvn test
```
Только ключевые тесты homework_5:
```bash
mvn "-Dtest=HttpHelperTest,SoapHelperTest,SqlHelperTest,MqHelperTest,StubContractTest,StubSchemaTest" test
```
UI Cucumber (stub frontend):
```bash
mvn -Pui-tests test
```
UI Cucumber через Selenoid:
```bash
mvn -Pui-tests "-Dbrowser=selenoid" "-Dselenoid.url=http://localhost:4444/wd/hub" test
```
Полная проверка качества:
```bash
mvn verify
```
## Docker/Selenoid
Если UI-тесты через Selenoid не нужны, этот раздел можно пропустить.
Предварительно:
- Установить Docker Desktop.
- Убедиться, что Docker запущен.
Поднять инфраструктуру:
```bash
docker compose up -d
```
Проверка, что Selenoid поднялся:
- Selenoid API: `http://localhost:4444/wd/hub`
- Selenoid UI: `http://localhost:8081`
После этого можно запускать UI-тесты через Selenoid:
```bash
mvn -Pui-tests "-Dbrowser=selenoid" "-Dselenoid.url=http://localhost:4444/wd/hub" test
```
Или выполнить полный пайплайн одной командой (поднимет Docker/Selenoid и запустит все проверки):
```bash
powershell -ExecutionPolicy Bypass -File .\scripts\run-full-pipeline.ps1
```