Files
homework_6/README.md

82 lines
2.9 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 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
```