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

Терміни, нюанси та джерела

Що змінилося після запису · 9:10

Що змінилося після запису

У підсумку відео звучить широке формулювання, що Playwright працює через DevTools protocol.

Raw CDPSession у public API підтримується лише для Chromium-based browsers; це формулювання не можна узагальнювати на Firefox і WebKit.

Як Playwright взаємодіє з браузером через протокол →

Java · Сесії: AMA та PMP · 0:00–2:36

Пакет Playwright і браузери — різні артефакти

`pip install` за `requirements.txt` встановлює Python-бібліотеку Playwright, але не гарантовано завантажує сумісні браузерні binaries. Тому після клонування проєкту окремо запускають `playwright install` або, для меншого завантаження, команду з потрібним браузером, наприклад `playwright install chromium`. Playwright керує власними сумісними збірками Chromium, Firefox і WebKit. Якщо потрібної збірки немає у його cache, запуск завершується помилкою навіть тоді, коли сам Python-пакет уже встановлений.

Навіщо встановлювати Playwright-браузери, як часто та чому треба оновлювати бібліотеки →

Java · Основний курс · 0:00–6:48

WebDriver і двостороння модель Playwright

Selenium виконує команди через WebDriver: тест звертається до драйвера HTTP-запитами, а драйвер керує браузером. Перевірки стану та explicit waits багаторазово опитують браузер, тому на віддаленому запуску через BrowserStack або іншу інфраструктуру network latency відчутно сповільнює тести й змушує змінювати polling interval. Playwright підтримує постійний двосторонній зв'язок із браузером і отримує результат виконаної команди через WebSocket. У відео це подається як причина меншої кількості мережевих затримок, кращої поведінки на remote execution і можливості працювати з Chromium, Firefox та WebKit через спільний API.

Playwright для Java: основи та поглиблення →

Java · Сесії: AMA та PMP · 9:10–14:20

Дії, browser protocol і порівняння з WebDriver

[Дивитися з 09:10](https://www.youtube.com/watch?v=6QdvE9DHOIY&t=550s). Для `click`, `dblclick`, `fill`, evaluate та інших actions у команду входять target locator, parent frame і options. Browser-side automation layer виконує пошук у правильному контексті та повертає результат або error. На прикладі Chromium автор пояснює роль Chrome DevTools Protocol і показує інструмент командного рядка, який також керує browser через локальний service. Для порівняння Selenium client зазвичай спілкується з browser-specific WebDriver через W3C WebDriver protocol, а driver уже координує browser. В обох випадках test code не клікає DOM напряму: між ним і browser є protocol та процес, що виконує команди.

Як Playwright взаємодіє з браузером через протокол →

Java · Основний курс · 1:05:26–1:13:18

Tracing і готовий JUnit integration

Tracing записує кроки тесту, screenshots, console logs, network requests і додатковий контекст виконання. Ручна реалізація потребує browser context, запуску tracing перед тестом і збереження archive після нього. Замість власного extension демонструється експериментальна на момент відео JUnit integration з `@UsePlaywright`, яка інжектить `Page`. Для параметризації створюється клас, що реалізує `OptionsFactory`: через нього задаються headed/headless mode, base URL, tracing policy, browser launch options та інші параметри. За замовчуванням запускається Chromium build Playwright. Через browser channel можна обрати встановлений Google Chrome, а `slowMo` додає паузу між операціями, що корисно для демонстрації або візуального аналізу швидкого тесту.

Playwright для Java: основи та поглиблення →
Запитати в чаті про «chromium» →