Ожидания в UI-тестах
Вопрос
Расскажите, какие бывают ожидания в UI-автотестах и какие вы используете.
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Почему нужны: асинхронная загрузка, тест быстрее страницы
sleep плох: ждёт время, а не состояние
Неявное: глобально на поиск элемента
Явное: конкретное условие с таймаутом и интервалом опроса
Playwright: автоожидание и web-first assertions
Что могут спросить следом
- Что будет, если смешать неявное и явное?
- Как ждать не элемент, а статус в API?
Разбор
Образцовый ответ: «Страница асинхронная, и тест должен ждать нужного состояния, а не фиксированное время, поэтому sleep я не использую. В Selenium есть неявное ожидание: глобальная настройка для поиска элементов. И явное: WebDriverWait с условием, например кликабельность или видимость. Смешивать их не стоит, время ожидания становится непредсказуемым, поэтому я ставлю неявное в ноль и пользуюсь только явными. В Playwright проще: он сам ждёт, что элемент видим, стабилен и включён, а expect повторяет проверку до таймаута. Если ждать надо внешний мир, например статус заказа, пишу поллинг с таймаутом»).
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.