Тренинги для тестировщиков. Selenium 2 стартовый уровень. 2015

45

Этот курс – самый простой в линейке тренингов, посвященных инструменту 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, сложные (составные) локаторы
  • ожидания
    • явные и неявные ожидания
    • ожидание загрузки страницы
    • ожидание некоторого события (появление или исчезновение элементов, изменение их свойств)
  • проверки
    • проверка наличия или отсутствия элементов
    • проверка текста и атрибутов элементов