Как стать автором
Обновить

Комментарии 7

Спасибо за статью. Использую selenium в работе, штука крутая конечно, но основные проблемы у меня связаны именно с таймаутами. Иногда вообще непонятно, влияют ли методы implicitly_wait, set_page_load_timeout на работу программы. Порой страница может перейти в «вечную» загрузку. Из-за таких маленьких неприятных глюков, приходится писать тесты для тестирования тестов.
Про таймауты хорошо написано в официальной документации вот тут
Таймауты в тестах — это зло. Если есть возможность, то лучше делать проверку (waitForCondition) на появление элемента (isElementPresent) который ожидаем.
обычно хватает самописных waitForAjax или waitForSocket. implicitly_wait не ловят ajax и socket, а значит надо выкручиваться.
Появится ли элемент не понятно, хотя подход с какой-то стороны то-же верный.
Для таких вещей есть WebDriverWait
Понравилась идея про перезапуск — действительно, иногда тесты падают из-за каких-то левых причин. Однако про создание копии БД — не совсем верно. На нашем последнем проекте результаты выполнения тестов на созданной БД и на реальной отличались, причем заметно. Я не говорю, что создание и работа с тестовой БД — это плохой подход, наоборот. Но стоит учитывать, что пользователи будут работать не с тестовыми данными.
А вот если лезут баги, с какими-то особыми данными (спец символы), то стоит это отдельно покрывать тестом или дописывать в существующий.

У меня на работе есть принцип. Закрывая баг, покрой его показательным тестом.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории