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

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

Що змінилося після запису · 2:20

load event не дорівнює business readiness

Поточна документація Playwright прямо застерігає, що універсального стану «page loaded» немає: після browser load application може ще отримувати дані або завершувати hydration. Якщо видимий control не реагує, спочатку перевір hydration; product-side виправлення — тримати control disabled до готовності, а не додавати sleep у тест.

Що має описувати isLoaded →

Практика · 2:20

Діагностувати hydration під Slow 3G

Увімкни Slow 3G у DevTools, одразу взаємодій із видимим control і перевір, чи handler уже підключений. Якщо дія губиться, зафіксуй product-side умову готовності без sleep у тесті.
Проблему відтворено або виключено на сповільненій мережі.
Відокремлено browser load, видимість control і завершення hydration.
Запропоновано disabled state до готовності, якщо handler підключається пізніше.

Що має описувати isLoaded →

Java · Додаткові матеріали · 56:30–1:03:35

Запуск, діагностика та коректні очікування

Перший запуск показує проблему з переходом між сторінками. Тимчасовий `sleep(10000)` допомагає підтвердити, що причина — асинхронне завантаження, але не має залишатися у фінальному тесті. Замість фіксованої затримки тест очікує конкретний елемент чи текст нової сторінки. Перевірка лише URL недостатня: адреса може змінитися раніше, ніж DOM стане готовим.

Створення першого Java-проєкту та тесту →

Java · Додаткові матеріали · 29:23–35:49

Debug mode, selectors і реальна готовність сторінки

Замість довгого `sleep` тест запускається в debug mode з breakpoint, щоб дослідити DOM у потрібному стані. Автор перевіряє `h2`, link з текстом `Read Me` та вкладені елементи, уточнюючи selector до єдиного збігу. Важливе спостереження: контент або DOM-елемент може з’явитися раніше, ніж зміна стане помітною користувачу, тому умова завантаження має відповідати потрібному business state, а не випадковому швидкому елементу.

Маленький рефакторинг і тестові дані у Java →
Запитати в чаті про «sleep» →