Работа с неконструктивными моделями поведения сотрудников (мастер класс)

За последние несколько лет Selenium приобрёл чрезвычайно высокую популярность, и вполне заслуженно. Поддержка практически всех современных браузеров, кроссплатформенность, возможность разработки тестов на различных языках программирования, наличие хорошего рекордера, возможность использования готовых тестов для нагрузочного тестирования -- по своим возможностям он опережает большинство не только бесплатных, но и коммерческих инструментов автоматизации тестирования.
Однако, как это часто бывает в среде разработки инструментов с открытым кодом, Selenium не является комплексным решением. Он предназначен для решения одной задачи, но зато делает это лучше всех. Selenium -- это драйвер веб-интерфейса. В дополнение к нему необходимо выбрать сначала язык программирования, а потом ещё один или несколько фреймворов -- для группировки и запуска тестов, для распараллеливания тестов, для облегчения разработки тестов, для журналирования процесса выполнения и так далее. А ещё нужно выбрать среду разработки и инструмент сборки и непрерывной интеграции.
Это типичный путь, характерный для программ с открытым кодом -- вместо комплексного решения предлагается самостоятельно построить нужную вам систему из отдельных "деталей". И я помогу вам пройти этот путь, расскажу о том, какие бывают детали, как их соединять друг с другом, и покажу, что получается в результате.
1. Что такое Selenium, для чего он предназначен
2. Selenium IDE и плагины к нему:
3. Возможности фреймворка для запуска тестов TestNG
-- провайдеры тестовых данных
-- конфигурационные файлы с описанием тестовых наборов, группировка тестов
-- параллельный запуск тестов
4. Выполнение тестов параллельно на нескольких машинах с использованием Selenium Grid
5. Выполнение тестов параллельно с использованием HtmlUnitDriver (Selenium 2.0)
6. Встраивание тестов в системы непрерывной интеграции: Hudson
7. Выполнение тестов "в облаках": Sauce OnDemand

Презентация

Слушать аудио

 

Comments

{{comment.AuthorInfo}}
{{ comment.DateCreated | date: 'dd.MM.yyyy' }}
Found a mistake?