Урок 18. Playwright: локаторы, действия, web-first assertions
⚠️ Бонус-блок вне лекций курса. Playwright — современная альтернатива Selenium. API сверяйте с официальной документацией playwright.dev/python.
⚡ Кратко: локаторы и проверки
Локатор в Playwright — «ленивая» ссылка на элемент, которая ищется заново при каждом действии. Рекомендуются user-facing локаторы: по роли, тексту, лейблу.
page.get_by_role("button", name="Войти")— по ролиpage.get_by_text("Привет"),get_by_label("Email"),get_by_placeholder(...),get_by_test_id(...)- Действия:
click(),fill(),check(),select_option(),press()— все с авто-ожиданием - Проверки:
expect(loc).to_be_visible(),to_have_text(),to_have_count(),to_have_value()
Топ-3 ошибки: 1) CSS/XPath вместо роли/текста. 2) Strict mode violation — локатор нашёл >1 элемента. 3) assert вместо expect().
📖 О чём этот урок
Локаторы — сердце Playwright: именно они дают авто-ожидание и устойчивость к «миганию». В этом уроке разберём, как находить элементы «как пользователь» (по роли, тексту, лейблу), как фильтровать и сцеплять локаторы, как выполнять действия и как писать web-first проверки expect(), которые сами ждут.
Что изучим
- Что такое локатор и почему он «ленивый»
- Встроенные локаторы:
get_by_role/text/label/placeholder/test_id - CSS/XPath — когда без них никак
- Фильтрация и сцепление:
.filter(),.nth(),.first/.last - Действия с авто-ожиданием и понятие actionability
- Web-first проверки
expect()и strict mode
📚 Что повторить перед изучением
- ← Урок 17: Playwright — введение и первый тест
- ← Урок 05: Локаторы Selenium — будем сравнивать
- ← Урок 07: явные ожидания
- HTML: роли элементов, label, placeholder, атрибуты