TGViewer
QA.GURU — школа автоматизации тестирования QA.GURU — школа автоматизации тестирования @qa_guru · 2.54K subscribers
Post #1752 281
Component-based Page Object: как не превратить фреймворк в монолит 🧹

Паттерн Page Object — основа UI-автоматизации. Но при росте проекта классические пейджи часто превращаются в гигантские нечитаемые простыни по 1500 строк.

Разберём 3 частые ошибки из ревью студенческих заданий и способы их решения:

1️⃣ Ошибка: Страница-монолит (God Page)
В классе MainPage описаны хэдер, корзина, каталог, фильтры и форма подписки на рассылку.
Решение: переходить на компонентный подход (Component-based). Выделяем переиспользуемые виджеты в отдельные компоненты:
HeaderComponent, SidebarFilterComponent, PaginationComponent.

2️⃣ Ошибка: Ассерты спрятаны внутри Page Object
Когда валидация зашита в метод страницы loginPage.checkSuccess(), тест теряет прозрачность, а стек-трейс Allure не показывает точную строку упавшей проверки.
Решение: страница отвечает за навигацию и возвращает данные, а ассерты всегда остаются в теле теста:
assertThat(profilePage.getUserName()).isEqualTo("Станислав");


3️⃣ Ошибка: Утечка сырых селекторов наружу
Когда в теле тестового метода вызывается page.locator("button.submit-btn-custom").click(), нарушается вся инкапсуляция.
Решение: тест должен оперировать бизнес-действиями: profilePage.submitForm().

Модульная компонентная архитектура позволяет безболезненно пережить любой редизайн фронтенда.
  • 👍 3
  • ❤ 1
More from @qa_guru
  1. Sep 30, 2026Итоги сентября и график стартов октября в QA.GURU 🍁 Сентябрь получился плотным: запустили…
  2. Sep 30, 2026photo post
  3. Sep 29, 2026Как устроен Jenkins-сервер школы: почему студенты запускают тесты в CI с первых недель ⚙️…
  4. Sep 29, 2026photo post
  5. Sep 28, 2026photo post
  6. Sep 27, 2026Словарь инженера: 6 терминов асинхронного бэкенда и CI/CD 📚 Собрали краткую шпаргалку по…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →