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

Сгенерированный id

Вопрос

У поля id выглядит как :r7: и меняется между запусками. Что лучше сделать?

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

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

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

Коротко

Правильный ответ: Искать поле по подписи (label) или добавить data-testid. Сгенерированный id нестабилен по определению, обновлять тест каждый запуск невозможно.

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

  1. Использовать id, а при каждой смене обновлять селектор в тесте
  2. Брать XPath по позиции поля в форме, она меняется реже id
  3. Искать поле по подписи (label) или добавить data-testidправильный ответ
  4. Искать по классу оформления поля, он задан в стилях вручную

Разбор

Сгенерированный id нестабилен по определению, обновлять тест каждый запуск невозможно. Позиция и классы оформления хрупкие. Подпись поля (getByLabel) отражает смысл, а data-testid договорённость с разработкой. Оба варианта устойчивы.

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

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

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