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

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

Термін · 13:00

Locator strictness

Playwright виконує strictness-перевірку для операцій над одним цільовим елементом: множинний збіг спричиняє помилку, тому locator треба звузити за контрактом інтерфейсу.

1. Рефакторинг та оптимізація, KISS, DRY, DAMP, YAGNI →

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

Відтворити mobile/desktop collision

Створити DOM fixture з двома forms і однаковими field identifiers.
Підтвердити strictness failure для global locator.
Звузити пошук до visible container.
Scoped locator проходить без .first і .nth().

3. Селектори та пошук елементів →

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

Множинні збіги, `filter()` і `first()`

Playwright у strict mode очікує один елемент для дії або перевірки. Загальний локатор `h3` повертає багато заголовків, тому тест падає. `first()` технічно усуває множинність, але не гарантує, що обрано саме потрібний проєкт: перший елемент може виявитися зовсім іншим. Надійніший підхід — звузити локатор за змістом, наприклад через роль і `name` або через `filter(has_text=target_project)`. `first()` доречний лише тоді, коли порядок є частиною контракту, а не способом приховати нечіткий селектор.

1. Рефакторинг та оптимізація, KISS, DRY, DAMP, YAGNI →
Запитати в чаті про «strictness» →