46ddc4dd87d4f9d708e7224ebe0c6002043c9611
OTUS Homework 6: Playwright UI Tests
UI-автотесты на Playwright для 4 сценариев OTUS. Проект оформлен в стиле предыдущих ДЗ: DI через Guice, трассировка, линтеры, запуск из консоли.
Что реализовано
- 4 UI-сценария из ТЗ (Clickhouse, Catalog, B2B, Subscription).
- DI через Guice: ресурсы Playwright создаются в фикстурах и инжектятся в тесты.
- Трассировка включена для каждого теста.
- Линтеры: Checkstyle и SpotBugs.
- Запуск из консоли (Maven).
Структура проекта
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— архив для сдачи.
Сценарии
- Clickhouse: блок преподавателей, drag&drop, popup, next/prev в карточке.
- Каталог курсов: фильтры по направлению/уровню/длительности, проверка изменения карточек.
- Услуги компаниям: переход в “Разработка курса для бизнеса”, направления, переход в каталог.
- Подписки: раскрытие/сворачивание описания, переход к оплате, выбор Trial.
Версии
- Java: 21
- Playwright: 1.58.0
- JUnit: 5.10.1
- Guice: 7.0.0
Требования из ТЗ
- Использование DI — реализовано через Guice.
- Использование линтеров — Checkstyle и SpotBugs включены в
mvn verify. - Только Playwright — другие UI-фреймворки не используются.
- Трассировка для всех тестов — включена в фикстуре
PlaywrightExtension. @UsePlaywrightне используется — ресурсы создаются и инжектятся вручную.- Запуск из консоли —
mvn test.
Как запускать
Все тесты
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):
Compress-Archive -Path traces\* -DestinationPath traces.zip -Force
Проверка качества
mvn verify
Примечания по консоли
- Предупреждения
sun.misc.Unsafeприходят из зависимостей Guava при Java 21. Добавлен флаг-Dcom.google.common.util.concurrent.AbstractFuture.disableUnsafe=true, чтобы минимизировать их. - Сообщения
Corrupted channel...появляются только при первом скачивании браузеров Playwright. После установки браузеров они исчезают.
Возможные проблемы
- Если не загружаются браузеры Playwright, выполните
mvn testс доступом к сети. - Если попапы мешают кликам, используется автоматическое закрытие типовых модалок.
Description
Languages
Java
100%