Люблю драники на крупной тёрке и писать автотесты. Верю, что автоматизация — это не «ступенька к разработке», а самостоятельная, живая и увлекательная дисциплина со своими подходами, инструментами и философией. В своих докладах показываю нестандартные приёмы, разбираю реальные грабли и рассказываю, как сделать автотесты не просто работающими, а надёжными, быстрыми и приносящими реальную пользу команде.
Проблема:
Тестировщик глазами видит, когда страница «готова».
А вот классические UI-автотесты в большинстве своём так не умеют: они используют фиксированные таймеры, кучу WaitUntil и сложные сценарные проверки.
Из-за растущего количества нюансов для каждой формы код становится громоздким, хрупким и тяжёлым в сопровождении.
Решение:
Мы сделали систему «человечных» ожиданий, которая автоматически собирает сигналы о готовности страницы: следит за DOM, сетевыми запросами, скрытыми индикаторами загрузки, анимациями и динамическим контентом.
Вместо десятков хаков и ручных условий мы получаем универсальный метод ожидания, который решает большинство сценариев.
Ценность:
Упрощаем код и сокращаем сопровождение.
Сильно уменьшаем флаки и ложные падения.
Делаем тесты более надёжными и быстрыми.
Создаём основу для асинхронного управления браузером и более умных автотестов.
Фишка:
Система не просто ждёт «N секунд» — она понимает, когда страница готова, почти как живой человек, только за счёт анализа реальных сигналов.
Человечные ожидания в UI-тестах на Selenium