Почему в Playwright лучше использовать locator, а не сырые CSS/XPath-селекторы?

QAAQA JavaScript Engineer MiddlePlaywrightТеорияplaywrightlocatortypescriptaqa

Что хотят услышать интервьюеры:

Коротко: 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 селекторы обычно делают тест читаемее и устойчивее.

Источники

Похожие вопросы