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

Python мануфактура · Програма курсу · 15:00–20:00

Debugger і виправлення помилки в локаторі

Перший запуск падає з `Unable to locate element`: у селекторі переплутано дефіс і underscore. Замість додавання паузи селектор звіряється з уже робочим Page Object, помилка виправляється, а тест повторно запускається в debug mode. На breakpoint можна виконувати код покроково через Step Over або продовжити Resume Program. Це дає змогу побачити, після якої саме браузерної команди змінився стан сторінки, і відокремити помилку локатора від помилки наступного кроку. Після входу додається перевірка success message через `is_displayed()`. Така перевірка корисна як перший експеримент, але ще не робить тест стійким: вона читає стан елемента один раз і не очікує його появи.

1. Selenium початок, основи, фікстури →

Python мануфактура · Програма курсу · 25:55–29:02

DOM breakpoints і практична перевірка cookies

Альтернативний спосіб — DevTools breakpoint `Break on subtree modifications` на контейнері. Після Save браузер зупиниться на зміні DOM; покрокове продовження дозволяє знайти проміжні стани `Saving` і `Saved` та побудувати locator. Для перевірки cookie тест ставиться на паузу, у DevTools відкривається Application → Cookies, виконується наступний крок і reload. Так видно, що feature flag дійсно додано до правильного домену до того, як на нього покладатиметься assertion.

2. Storage state, cookie manipulation, дебаг зникаючих елементів →

Python мануфактура · Програма курсу · 42:00–48:00

`page.pause()` і debugger PyCharm

`page.pause()` зупиняє виконання й відкриває Playwright Inspector. У ньому можна покроково продовжувати тест, підсвічувати елементи, досліджувати locators і записувати дії. У відео для швидкої вставки pause створюється IDE Live Template. Альтернатива — звичайний breakpoint і Debug у PyCharm. `Step over`, `Step into My Code` і `Step out` дають контроль над Python-викликами, а Evaluate Expression дозволяє перевіряти locator або інший вираз у поточному стані. Playwright Inspector зручніший для браузерної частини, debugger IDE — для Python state; обирати варто за місцем проблеми.

1. Налаштування Playwright та Pytest, простий репортінг →
Запитати в чаті про «breakpoint» →