Этот курс – самый простой в линейке тренингов, посвященных инструменту Selenium.
От участников не требуется никакой предварительной подготовки в области автоматизации тестирования, не требуется умение программировать, не требуется предварительное знакомство с Selenium или иным инструментом автоматизации. Стартуем с нулевой отметки.
После прохождения тренинга учащийся будет уметь разрабатывать автоматизированные тесты для веб-приложений с использованием инструмента Selenium, в частности:
- уметь использовать инструментальные средства, помогающие создавать тесты (рекордер, плагины к браузерам),
- владеть техниками поиска (идентификации) элементов в окне браузера (в том числе уметь создавать несложные XPath и CSS запросы как вручную, так и с использованием специальных инструментов),
- владеть базовым набором команд Selenium 2.0, эмулирующих действия пользователя (ввод текста, клики мышью),
- владеть базовым набором команд Selenium 2.0, позволяющих получать данные из браузера (текст, атрибуты элементов),
- уметь выполнять проверки фактических данных, полученных из браузера, на соответствие ожидаемым значениям.
Предусловия: - понимание того, как работает веб-приложение в целом: клиент-серверная архитектура, понимание того, как работает браузер (отрисовка страниц, применение стилей CSS, интерпретация JavaSript-кода),
- умение читать HTML-код, понимание основных принципов вёрстки HTML-страниц, знание основных тегов (a, div, span, table/tr/td, ul/li),
- наличие опыта ручного тестирования веб-приложений.
Спойлер: Программа
Занятие 1: автотестирование без программирования - рекордер Selenium IDE
- инсталляция рекордера Selenium IDE в браузер Firefox
- запись, воспроизведение, отладка теста в рекордере Selenium IDE
- рекордер Selenium Builder
- инсталляция рекордера Selenium IDE в браузер Firefox
- запись, воспроизведение, отладка теста в рекордере Selenium IDE
- Selenium Server
- запуск тестов в разных браузерах
- запуск тестов на удалённой машине
- запуск тестов 'в облаках'
- обзор набора команд, которые можно использовать в Selenium IDE и в Selenium Builder
Занятие 2: путь от перевода тестов на язык программирования до сервера непрерывной интеграции - перевод тестов на язык программирования
- установка системы сборки Maven
- создание проекта для тестов: Maven + Selenium Archetype
- экспорт тестов из рекордера на язык программирования Java
- запуск тестов вручную из консоли
- организация сервера непрерывной интеграции
- помещение тестов в систему хранения кода
- установка сервера непрерывной интеграции Jenkins
- запуск тестов в автоматическом режиме на сервере непрерывной интеграции
Занятие 3: ручная доработка того, что не смог записать рекордер - методы идентификации элементов
- обзор методов идентификации элементов: id, name, linkText, class, XPath, CSS
- создание и отладка локаторов в рекордере Selenium IDE
- создание и отладка локаторов при помощи плагинов Firebug, FirePath, WebDriver Element Locator
- детальное рассмотрение локаторов XPath и CSS, сложные (составные) локаторы
- ожидания
- явные и неявные ожидания
- ожидание загрузки страницы
- ожидание некоторого события (появление или исчезновение элементов, изменение их свойств)
- проверки
- проверка наличия или отсутствия элементов
- проверка текста и атрибутов элементов