Python мануфактураJavaDesign Patterns для автоматизаторів

Design Patterns для автоматизаторів · 20:45–36:16

Page Object для сторінок і компонентів

Page Object визначається як опис поведінки логічної частини сторінки. Такою частиною може бути ціла сторінка, popup, header, footer, фільтр або картка товару; поділ на pages і components є організаційним уточненням цього самого підходу. Прямий тест послідовно розкладається на `HomePage`, `SearchResultPage`, `ProductPage` і `CartPage`. У кожен клас переносяться лише дії та перевірки його UI-контексту: пошук, відкриття товару, додавання до кошика, відкриття кошика та підтвердження завантаження. Після перенесення тест читається як послідовність бізнес-дій, але реальний запуск усе одно потрібен, бо помилка в регістрі назви товару вже спричинила падіння.

1. Патерни проєктування для UI тестів (перезапис) →

Design Patterns для автоматизаторів · 31:00–40:00

Assertions і незручність сирого fluent API

Playwright Java розділяє locator actions і assertions: для перевірки потрібно окремо передавати locator в assertion API. Після action не завжди можна продовжити читабельний chain на тому самому object, тому Page Object наповнюється повторними locator calls. Автор прагне до Selenide-подібного стилю: знайти element, викликати `shouldBe`/`shouldHave`, виконати `click`, `setValue` або `press`, читаючи chain зліва направо. Замість великого framework потрібен вузький wrapper над уже наявними Playwright capabilities.

Playwright Java, пишемо тести та робимо Selenide на мінімалках →
Запитати в чаті про «page-object» →