|   
 | Онлайн-тренинг с домашними заданиями, 5 занятий Selenium постепенно набирает всё большую популярность, желающих освоить его  становится всё больше. Поэтому возникла потребность в создании "базового" курса,  нацеленного на самую широкую аудиторию. Разумеется, умение разрабатывать автотесты включает в себя не только владение  инструментом автоматизации. Поэтому новый курс охватывает практически все  вопросы, которые возникают в процессе разработки автотестов для относительно  несложных веб-приложений: 
возможности рекордера Selenium, базовый набор команд Selenium, выбор и подготовка среды разработки (в курсе будет использоваться язык  программирования Java), выбор фреймворка запуска тестов (сравним JUnit и TestNG), базовые навыки структурирования кода тестов и рефакторинг, запуск тестов в разных браузерах, запуск тестов из среды разработки, из консоли, интеграция в системы сборки и  непрерывной интеграции, различные способы идентификации элементов на странице, языки запросов XPath  и CSS, протоколирование выполнения тестов и подготовка отчётов о прохождении  тестов, типовые шаблоны проектирования тестов. После прохождения тренинга учащийся будет уметь разрабатывать  автоматизированные тесты для веб-приложений с использованием инструмента  Selenium, в частности: 
уметь использовать инструментальные средства, помогающие создавать тесты  (рекордер, плагины к браузерам), владеть базовым набором команд Selenium, эмулирующих действия пользователя  (ввод текста, клики мышью), владеть техниками поиска (идентификации) элементов в окне браузера (в том  числе уметь создавать несложные XPath и CSS запросы как вручную, так и с  использованием специальных инструментов), владеть базовым набором команд Selenium, позволяющих получать данные из  браузера (текст, атрибуты элементов), уметь выполнять проверки фактических данных, полученных из браузера, на  соответствие ожидаемым значениям, уметь выстраивать архитектуру тестов таким образом, чтобы тесты можно было  легко модифицировать и добавлять новые (при небольшом количестве  тестов) Предусловия: 
учащийся владеет базовыми навыками программирования, желательно на языке  Java (но не обязательно), то есть может написать несложную программу, знает, что  такое “условный переход” и “цикл”), учащийся знает, как работает веб-приложение, умеет читать HTML-код,  понимает, что такое “клиент-серверная архитектура”, желательно наличие опыта ручного тестирования веб-приложений. Программа тренинга:1. Создание простого теста “с нуля” рекордером: 
инсталляция рекордера Selenium в браузер Firefox, запись, воспроизведение, отладка теста в рекордере Selenium, подготовка среды разработки (установка среды разработки, создание и  настройка проекта), экспорт теста из рекордера Selenium в среду разработки, запуск теста, использующего базовые команды Selenium, из среды разработки, отладка теста в среде разработки (пошаговое прохождение, просмотр значений  переменных), запуск теста в разных браузерах. 2. Усложнение тестов и создание наборов тестов: 
создание ещё 2-3 тестов при помощи рекордера Selenium, выделение повторяющихся фрагментов кода во вспомогательные методы (функции,  процедуры), выделение функций инициализации и завершения тестов (запуск и останов  браузера), добавление проверок наличия элементов, получение текста и атрибутов элементов при помощи команд Selenium,  добавление проверок для текста и атрибутов, способы ожидания появления элементов или изменения их атрибутов, PageObject и PageFactory, встроенная реализация этих шаблонов в  Selenium. 3. Методы идентификации элементов в браузере (локаторы): 
обзор методов идентификации элементов: id, name, linkText, class, XPath,  CSS, создание и отладка локаторов в рекордере Selenium, создание и отладка локаторов при помощи плагинов Firebug и FirePath, детальное рассмотрение локаторов XPath и CSS, сложные (составные) локаторы, использование локаторов в командах Selenium, использование локаторов при ожиданиях. 4. Организация проверок в тестах: 
ожидание некоторого события (появление или исчезновение элементов, изменение  их свойств), сравнение множеств элементов (работа с таблицами и списками), проверка инвариантов, повышение скорости проверок, сравнение состояния до и после действий пользователя, инкрементальные  проверки. 5. Инфраструктура сборки и запуска тестов: 
параллельный запуск тестов и Selenium Grid, сборщики Ant и Maven, сервер непрерывной интеграции Jenkins, запуск тестов в облаках с использованием сервиса SauceLabs, логирование, снятие скриншотов, запись видео при выполнении  тестов.   |