Предпочтительны локаторы по роли, доступному имени и label, а при необходимости — согласованный test ID. getByLabel сохранит работу после смены ID, если связь метки с полем остаётся корректной.
Какой подход к поиску локаторов вы используете в Playwright и почему? Что произойдёт с getByLabel, если в HTML изменится ID связанного поля?
Предпочтительны локаторы по роли, доступному имени и label, а при необходимости — согласованный test ID. getByLabel сохранит работу после смены ID, если связь метки с полем остаётся корректной.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Предпочтительны локаторы по роли, доступному имени и label, а при необходимости — согласованный test ID. getByLabel сохранит работу после смены ID, если связь метки с полем остаётся корректной.
Например, при изменении input id нужно также обновить label for, если связь задана именно так. Если поменять только ID и сломать связь, поиск по label может перестать находить поле. Вложенный input или aria-связи могут обеспечивать метку другим способом. Длинные CSS/XPath-цепочки зависят от разметки сильнее. При нескольких совпадениях локатор уточняют по смысловому контейнеру, а не случайным индексом.
Источник: playwright.dev.