Почему в Playwright лучше использовать locator, а не сырые CSS/XPath-селекторы?
Что хотят услышать интервьюеры:
Коротко: Locator в Playwright выражает намерение теста и поддерживает автоожидания, повторную проверку элемента и более стабильные пользовательские селекторы.
Ответ:
Пример: Вместо хрупкого
.btn:nth-child(2) лучше использовать
page.getByRole('button', { name: 'Сохранить' }) .
Что проверить:
- role
- text
- test id
- auto-waiting
- readability
- flakiness
Мини-пример:
await page.getByRole('button', { name: 'Сохранить' }).click(); Типичная ошибка: привязывать тест к верстке вместо пользовательского поведения и доступного имени элемента.
Как отвечать на собеседовании: объясните, что role/text/test id селекторы обычно делают тест читаемее и устойчивее.