Files
homework_6/README.md

2.9 KiB
Raw Permalink Blame History

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:

# все тесты
mvn test

# один тест
mvn "-Dtest=ru.kovbasa.tests.CatalogFiltersTest" test

# параметры запуска
mvn "-Dheadless=false" "-Dbrowser=chromium" "-DbaseUrl=https://otus.ru" test

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:

Compress-Archive -Path traces\* -DestinationPath traces.zip -Force

Bash:

zip -r traces.zip traces

Проверка качества

PowerShell/Bash:

mvn verify