Выбор ответа Senior Локаторы обновлено

Зачем локаторы по роли

Вопрос

Почему Playwright и Testing Library рекомендуют getByRole первым выбором?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Ищет элемент как пользователь и скринридер, ловит проблемы доступности. Роль и доступное имя (подпись, текст, aria-label) это контракт с пользователем: при редизайне они меняются редко.

Варианты ответа

  1. Он быстрее CSS-селекторов, потому что использует дерево доступности
  2. Ищет элемент как пользователь и скринридер, ловит проблемы доступностиправильный ответ
  3. Он работает без браузера и подходит для unit-тестов компонентов
  4. Он не требует уникальности элемента и сам берёт первое совпадение

Разбор

Роль и доступное имя (подпись, текст, aria-label) это контракт с пользователем: при редизайне они меняются редко. Если тест не может найти кнопку по роли, часто это реальный баг доступности. О скорости рекомендации нет (запрос по ролям скорее медленнее CSS), без браузера локаторы Playwright не работают, а уникальность в действиях Playwright требуется всегда.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме