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

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

Практика · 30:00

Перевірити value замість text content

Заповніть input із formatter або mask.
Порівняйте text_content() та input_value().
Зафіксуйте кінцевий contract через to_have_value().
Assertion, який перевіряє саме відформатоване input value.

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

Python мануфактура · Сесії: AMA та PMP · 25:45–30:00

`fill()` проти посимвольного введення

[Дивитися з 25:45](https://www.youtube.com/watch?v=6QdvE9DHOIY&t=1545s). `fill()` фокусує поле, замінює значення та генерує input-related event. Це рекомендований і швидкий варіант для звичайних text fields. Посимвольне `pressSequentially()` потрібне лише тоді, коли application реагує на окремі `keydown`/`keypress`/`input`/`keyup`: autocomplete після перших символів, input mask, formatter номера телефону або custom keyboard handler. Практичний сценарій для autocomplete: ввести мінімальну кількість символів, дочекатися suggestion list, вибрати потрібний option і перевірити кінцевий state. Посимвольне введення не повинно ставати глобальним workaround для слабких очікувань, бо воно робить suite повільнішим.

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

Python мануфактура · Програма курсу · 32:40–38:05

Ruff як спільне правило якості коду

IDE inspections залежать від локальних налаштувань кожного інженера. `Ruff` переносить правила у репозиторій: перевіряє naming, невикористані імпорти, частину потенційних помилок і може форматувати код значно швидше за традиційний набір Python-інструментів. У PyCharm вмикається інтеграція Ruff, а в Actions on Save — reformat та optimize imports. Налаштування зберігаються в `ruff.toml` або секції `pyproject.toml`; версія Python у конфігурації має відповідати реальному runtime проєкту.

1. Фіксаємо назви файлів, рефакторинг та оптимізація під Python, підключаємо Ruff та uv →
Запитати в чаті про «formatter» →