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