- Training
- Program
1. “Галопом по Европе”
- Источники информации о Selenium
- Установка минимального необходимого для разработки и выполнения тестов ПО: - Java, среда разработки, браузеры, selenium-server-standalone
- Запуск браузера на локальной машине
- Открытие страниц приложения
- Базовые средства поиска элементов: findElement
- Базовые действия: click, sendKeys
- Базовые способы получения свойств элементов: getText, getAttribute
2. Всё про запуск браузеров: Firefox, Chrome, Opera, Safari, Internet Explorer, PhantomJS, HtmlUnit
- Локальный запуск браузеров
- Удаленный запуск браузеров с использованием Selenium Server
- Особенности запуска браузеров на Windows и на Linux
- Кастомизация профиля Firefox: подключение плагинов, настройка автоматического сохранения файлов и т.д.
- Работа с cookies
- Настройка работы браузеров через прокси-сервер
- Запуск нескольких браузеров одновременно
- Автоматический периодический перезапуск браузера
- Ожидание загрузки страниц
- Вспомогательный класс BrowserFactory
3. Всё про поиск элементов и ожидания
- Имплицитные (неявные) ожидания при поиске элементов
- Стратегии поиска: id, name, class, xpath, css
- Получение списка элементов: findElements
- Поиск “по цепочке” (chained)
- Использование executeScript для поиска
- Эксплицитные (явные) ожидания
- Тонкая настройка ожиданий: таймаут, частота проверок и другие параметры
- Вспомогательный класс WaitWebElement
- Дополнительные предопределенные условия: ajaxComplete, atLeastOneElementPresent и др.
4. Всё про работу с элементами
- Получение текста: getText
- Видимые и невидимые элементы
- Получение атрибутов: getAttribute
- Получение CSS-свойств: getCssValue
- Действия мыши с элементами разного типа: click
- Действия клавиатуры с элементами разного типа: sendKeys
- “Высокоточное оружие”: Actions – наведение мыши, клики “со сдвигом”, клик правой кнопкой, drag-n-drop
5. Всё про окна, фреймы и алёрты
- Получение списка окон
- Переключение в нужное окно
- Открытие нового окна
- Получение списка фреймов
- Переключение в нужный фрейм
- Ручная обработка алёртов
- Автоматическая обработка алёртов
6. Вспомогательные средства
- Журналирование действий
- Снятие скриншотов
- BrowserMob Proxy
- Selenium Grid
- Сервер непрерывной интеграции (Jenkins)