Модуль 1. Введение в Selenium и его компоненты (4 ак. ч.)
- Цели автоматизации тестирования
- Экономическая целесообразность автоматизации (ROI)
- Знакомство с Selenium IDE, Selenium RC, Selenium WebDriver & Selenium GRID
- Разворачивание среды разработчика (JDK, Eclipse, Selenium)
Модуль 2. Selenium WebDriver (4 ак. ч.)
- Архитектура Selenium WebDriver
- Запуск браузера
- Задание свойств и профиля браузера
- Навигация на страницу
- DOM структура страницы
- Методы поиска элементов на странице
- Locators: ID, Name, Class, Tag Name, Link Text, Partial Link Text, CssSelector, XPath
- Вспомогательные плагины Fire Path Tool, ChroPath
- Операции с web-елементами
- Методы Selenium driver Get, Navigate and Find element
Практическая работа. Авторизация на странице
Модуль 3. Изучение XPath. Методы реализации ожиданий в Selenium (4 ак. ч.)
- Что такое XPath, его типы
- Обработка сложных и динамических Web-элементов, используя XPath: Contains (), Start-with (), Following Axes, Following Sibling Axes, Preceding Axes and Preceding Sibling Axes
- Зачем в Selenium ожидания
- Типы ожиданий: Explicit Wait, Fluent wait, Implicit Wait, PageLoadTimeout and setScriptTimeout
Практическая работа. Доработка скрипта авторизации для работы в медленных сетях
Модуль 4. Работа с iFrame, сообщениями, модальными окнами, выпадающими списками (4 ак. ч.)
- Работа с Iframe
- Обработка оповещений системы: простые оповещения, подтверждающие, подсказки
- Модальные диалоговые окна
- Выпадающие списки: SelectByVisibleText, SelectByIndex, SelectByValue
- Команды по работе с окнами: GetWindowHandle, GetWindowHandles, SwitchToWindow
- Переключение между окнами
- Проверка работоспособности всех ссылок на странице
- Обработка нажатий клавиш клавиатуры
Практическая работа. Упражнения на поиск различных элементов страницы
Модуль 5. Фреймворк тестирования TestNG (4 ак. ч.)
- Что такое TestNG и какие преимущества он дает
- Установка TestNG
- Аннотация, методы, правила написания
- Группировка
- Приоритезация и зависимости между тестами
- Включение/отключения тестов
- Параметризация 2 методами: через xml-файл и через источник данных
- Параллельное тестирование
- Кросс-браузерное тестирование
- Варианты отчетности: HTML, XML или консольный вариант
Модуль 6. Selenium Grid and Selenium IDE (4 ак. ч.)
- Зачем нужен Selenium Grid
- Архитектура и воркфлоу: Hub, Node
- Установка Selenium Grid
- Разработка тестов под Grid 2 методами: используя объект DesiredCapabilites или RemoteWebDriver
- Запуск тестов в Grid’е
- Консольный запуск при помощи HtmlUnitDriver
- Selenium IDE: создание, запись, исполнение тест-кейсов
- log4j
Практическая работа. Запуск тестов многопоточно
Модуль 7. Page Object (4 ак. ч.)
- Зачем нужен Page Object
- Page Classes
- Page Factory
Практическая работа. Переписать тесты логина, используя паттерн Page Object
Модуль 8. Фреймворки автоматизации (4 ак. ч.)
- Что такое фреймворк автоматизации?
- Data Driven Test фреймворк
- Keyword Driven Test фреймворк
- Hybrid фреймворк
- Как выбрать подходящий фреймворк
- Чтение/запись из/в Excel с использованием Apache POI
Практическая работа. Переписать тесты логина, используя DDT
Модуль 9. Инфраструктура для автотестов (4 ак. ч.)
- Git
- Jenkins
- Maven
Модуль 10. Финальный проект (4 ак. ч.)
- Работа с проектом, аналогичным реальному