Files
homework_6/README.md
T

82 lines
2.9 KiB
Markdown

# OTUS Homework 6: Playwright UI Tests
UI-автотесты на Playwright для 4 сценариев OTUS с DI и трассировкой.
## Что реализовано
- 4 UI-сценария из ТЗ (Clickhouse, Catalog, B2B, Subscription).
- DI через Guice: ресурсы Playwright создаются в фикстурах и инжектятся в тесты.
- Трассировка включена для каждого теста.
- Линтеры: Checkstyle и SpotBugs.
- Запуск из консоли (Maven).
## Сценарии
1. **Clickhouse**: блок преподавателей, drag&drop, popup, next/prev в карточке.
2. **Каталог курсов**: фильтры по направлению/уровню/длительности, проверка изменения карточек.
3. **Услуги компаниям**: переход в “Разработка курса для бизнеса”, направления, переход в каталог.
4. **Подписки**: раскрытие/сворачивание описания, переход к оплате, выбор Trial.
## Стек и версии
- Java: 21
- Playwright: 1.58.0
- JUnit: 5.10.1
- Guice: 7.0.0
## Структура проекта
- `src/test/java/ru/kovbasa/tests` — тесты по сценариям.
- `src/test/java/ru/kovbasa/pages` — page-объекты.
- `src/test/java/ru/kovbasa/playwright` — фикстуры Playwright.
- `src/test/java/ru/kovbasa/config` — DI и Guice extension.
- `traces/` — zip-трейсы по каждому тесту.
- `traces.zip` — архив для сдачи.
## Команды запуска
PowerShell:
```powershell
# все тесты
mvn test
# один тест
mvn "-Dtest=ru.kovbasa.tests.CatalogFiltersTest" test
# параметры запуска
mvn "-Dheadless=false" "-Dbrowser=chromium" "-DbaseUrl=https://otus.ru" test
```
Bash:
```bash
# все тесты
mvn test
# один тест
mvn -Dtest=ru.kovbasa.tests.CatalogFiltersTest test
# параметры запуска
mvn -Dheadless=false -Dbrowser=chromium -DbaseUrl=https://otus.ru test
```
Доступные браузеры: `chromium`, `firefox`, `webkit`.
Полезные параметры:
- `-Dheadless=false` — запуск в UI.
- `-DslowMo=200` — замедление действий.
- `-DtimeoutMs=40000` — таймауты ожиданий.
## Трейсы
Трейсы автоматически сохраняются в каталог `traces/` в виде zip-файлов по каждому тесту.
Архив `traces.zip` расположен в корне проекта.
PowerShell:
```powershell
Compress-Archive -Path traces\* -DestinationPath traces.zip -Force
```
Bash:
```bash
zip -r traces.zip traces
```
## Проверка качества
PowerShell/Bash:
```
mvn verify
```