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 мануфактура · Програма курсу · 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, простий репортінг →

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

`page.pause()` і Playwright Inspector

`page.pause()` зупиняє тест і відкриває Playwright Inspector. Це дає змогу подивитися поточний DOM, перевірити locator та виконувати кроки по одному, не покладаючись лише на звичайний debugger IDE. Для короткоживучого статусу на кшталт `Saving`/`Saved` треба поставити паузу одразу після дії, яка його породжує. Якщо елемент зникає надто швидко, DevTools Sources може призупинити JavaScript через `F8`.

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

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

Аналіз помилок через LLM і практичне завдання

Failed output можна передати LLM у контексті проєкту, щоб скоротити час на читання великого traceback або логів. Найкраще це працює в IDE-інструменті, який бачить код і пов'язані файли. Водночас демонстрація показує межу підходу: модель може змінити порядок дій або запропонувати неправильний fix, тому її diff і повторний запуск тесту завжди треба перевіряти. Практика після уроку — перенести параметри браузера й context у fixtures, спробувати headless/headed режими, viewport, timeout і `slow_mo`, навмисно зламати тест та пройти повний цикл діагностики через HTML report, trace і debugger.

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