Каталог шаблонов проектирования в автоматизированном тестировании

Каталог шаблонов проектирования в автоматизированном тестировании

Темы: qa Java

Java QA Patterns Catalog

Каталог паттернов проектирования, применяемых в автоматизированном функциональном тестировании на Java.

Каждый модуль — самостоятельный проект, демонстрирующий один паттерн с рабочими примерами кода.

Требования

  • Java 21
  • Gradle 9+
  • Google Chrome (для модулей с Selenium)

Сборка и запуск тестов

# Все модули
./gradlew test

# Конкретный модуль
./gradlew :page-object-model:test

Паттерны

Модуль Паттерн Описание
page-object-model Page Object Model Инкапсуляция локаторов и действий страницы в отдельном классе
page-factory Page Factory Декларативная инициализация элементов через @FindBy
fluent-interface Fluent Interface Цепочки вызовов для читаемого тестового кода
builder Builder Создание сложных тестовых объектов с дефолтными значениями
factory Factory / Abstract Factory Создание WebDriver без привязки к конкретному браузеру
singleton Singleton Единственный экземпляр драйвера / конфигурации
screenplay Screenplay Моделирование действий пользователя через Actor–Task–Question
template-method Template Method Единый жизненный цикл теста в базовом классе
facade Facade Скрытие деталей подготовки тестовых данных
strategy Strategy Переключаемые стратегии ожидания элементов
decorator Decorator Добавление логирования и retry без изменения кода
observer Observer / Listener Скриншоты и отчёты через JUnit 5 Extension
repository Repository Абстракция источника тестовых данных
chain-of-responsibility Chain of Responsibility Цепочка обработчиков HTTP-ответа