Практически невозможно обойтись без функций ожидания, когда дело доходит до автоматизации тестирования с помощью Selenium. Они помогают предупредить недоразумения, которые могут возникать в результате лагов, задержек в отображении информации, на страницах тестируемого веб-сервиса.
При автоматическом тестировании современных веб-приложений, разработанных с использованием JavaScript и Ajax технологий, можно столкнуться с проблемой актуальности веб-элементов. Например, JavaScript'у на веб-странице требуется какое-то время на обновление значений в таблице с данными, или этот JavaScript вообще еще не успел создать эту таблицу. В таких случаях требуется инструмент, который позволил бы дождаться актуализации данных на веб-странице, прежде, чем продолжить тестирование.
В автоматическом тестировании, "вейтеры" - команды, которые могут притормозить выполнение программы на определенное время на определенной ступени исполнения. Вейтеры, также позволяют возобновлять приторможенную программу в случае наступления определенного события. Например, притормозить программу на 30 секунд и проверять в течение этого интервала состояние веб-элемента: изменилось ли его значение, стал ли он видимым/невидимым и тому подобное.
Вейтеры в Selenium WebDriver делятся на три группы: