Урок 18. Playwright: локаторы, действия, web-first assertions

🎁 Бонус-блок: Playwright ⏱️ Время изучения: ~60 мин 🎯 Сложность: Средняя
#playwright #locators #get_by_role #expect #auto-waiting #strict-mode
⚠️ Бонус-блок вне лекций курса. 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

📚 Что повторить перед изучением

🎯 Что изучать дальше