Тренер: Баранцев Алексей
Это основной курс по инструменту Selenium, в котором рассматриваются его наиболее часто используемые возможности.
Пройдя этот тренинг вы научитесь делать несложные тесты для веб-приложений. Основной упор сделан на скорость освоения инструмента Selenium и возможность быстро приступить к разработке тестов. Тем не менее, в курсе демонстрируется, как следует выстраивать полноценную многослойную архитектуру тестового набора, которая окажется востребована, когда количество ваших тестов достаточно сильно возрастёт.
Курс предназначен для наиболее широкой аудитории пользователей Selenium.
Простые тесты можно создавать при помощи рекордеров Selenium IDE или Selenium Builder. Но при увеличении объёма и сложности тестов этот подход теряет свою эффективность и привлекательность. Профессионалы пишут тесты на языках программирования.
Основным "официальным" языком программирования для Selenium является Java, потому что большая часть самого Selenium реализована на этом языке и все новые возможности сначала реализуются на Java, а потом переносятся в реализации на других языках – .Net (C#), Ruby, Python.
Этот курс предназначен для тех, кто хочет освоить программный интерфейс Selenium 2.0 и научиться разрабатывать автотесты для веб-приложений на языке программирования Java.
Однако, данный курс не предназначен для изучения языка Java, целью является изучение интерфейса Selenium на языке Java. Если Вы не владеете языком программирования, рекомендуем предварительно пройти любой базовый курс обучения либо выучить язык самостоятельно.
Если до этого Вы не занимались автоматизацией и не знакомы с Selenium, то лучше начать с курса Selenium 2.0: стартовый уровень.
Также существует аналогичный тренинг на языке Python и на C#.
После прохождения тренинга учащийся будет уметь разрабатывать автоматизированные тесты для веб-приложений на языке программирования Java с использованием инструмента Selenium 2.0, в частности:
- владеть базовым набором команд Selenium 2.0, эмулирующих действия пользователя (ввод текста, клики мышью),
- владеть расширенным набором команд Selenium 2.0, эмулирующих действия пользователя (клавиатурные сочетания, перетаскивание элементов мышью и другие),
- владеть техниками поиска (идентификации) элементов в окне браузера,
- уметь обеспечивать стабильность и скорость выполнения тестов за счёт правильного использования ожиданий,
- уметь выполнять проверки фактических данных, полученных из браузера, на соответствие ожидаемым значениям,
- владеть основными шаблонами проектирования тестов, в том числе шаблоном PageObject,
- уметь выстраивать архитектуру тестов таким образом, чтобы тесты можно было легко модифицировать и добавлять новые (при небольшом количестве тестов),
- уметь организовывать инфраструктуру для запуска тестов на сервере непрерывной интеграции.
Занятие 1: инфраструктура создания и запуска тестов
- запуск тестов из среды разработки
- подготовка среды разработки
- создание и настройка проекта для разработки тестов
- запуск тестов из среды разработки
- отладка тестов в среде разработки (пошаговое прохождение, просмотр значений переменных)
- запуск тестов в разных браузерах
- без использования Selenium Server
- с использованием Selenium Server
- тестовые фреймворки JUnit и TestNG
- методы завершения и инициализации
- фабрика браузеров
- группировка тестов в тестовые наборы (suite)
- непрерывный запуск тестов
- сборщики ant, maven, gradle
- сервер непрерывной интеграции Jenkins
- параллельный запуск тестов, Selenium Grid и облачные сервисы
Занятие 2: поиск элементов и действия с ними
- открытие страниц приложения
- поиск элементов
- findElement и findElements
- поиск "на странице" и "внутри элемента"
- явные и неявные ожидания
- переключение между окнами
- переключение между фреймами
- действия с элементами
- основные операции с элементами – click и sendKeys
- расширенный набор операций – класс Actions
- нативные и синтезированные события
- получение свойств элементов
- текст элемента
- значения атрибутов элемента
Занятие 3: PageObject и другие шаблоны проектирования тестов
- проектирование автотестов: чем оно отличается от проектирования ручных тестов
- разделение ответственности
- тесты/фреймворк для управления приложением
- тесты/данные, параметризация тестов
- логика приложения/страницы
- специальные средства для представления страниц
- PageObject и PageFactory
- использование PageObject в AJAX-приложениях
- PageBlocks и другие расширения для более удобной работы с элементами
Перейти к страничке курса
Перейти к табличке с описанием всех курсов по Selenium
Расписание всех тренингов по тестированию ПО
|