Этот курс предназначен для тех, кто хочет освоить программный интерфейс Selenium 2.0 и научиться разрабатывать автотесты для веб-приложений на языке программирования Python.

После прохождения тренинга учащийся будет уметь разрабатывать автоматизированные тесты для веб-приложений на языке программирования Python с использованием инструмента Selenium 2.0, в частности:

    владеть базовым набором команд Selenium 2.0, эмулирующих действия пользователя (ввод текста, клики мышью),
    владеть расширенным набором команд Selenium 2.0, эмулирующих действия пользователя (клавиатурные сочетания, перетаскивание элементов мышью и другие),
    владеть техниками поиска (идентификации) элементов в окне браузера,
    уметь обеспечивать стабильность и скорость выполнения тестов за счёт правильного использования ожиданий,
    уметь выполнять проверки фактических данных, полученных из браузера, на соответствие ожидаемым значениям,
    владеть основными шаблонами проектирования тестов, в том числе шаблоном PageObject,
    уметь выстраивать архитектуру тестов таким образом, чтобы тесты можно было легко модифицировать и добавлять новые (при небольшом количестве тестов),
    уметь организовывать инфраструктуру для запуска тестов на сервере непрерывной интеграции.
    Занятие 1: инфраструктура создания и запуска тестов
    установка Selenium
    запуск тестов из среды разработки
        подготовка среды разработки
        создание и настройка проекта для разработки тестов
        запуск тестов из среды разработки
        отладка тестов в среде разработки (пошаговое прохождение, просмотр значений переменных)
    запуск тестов в разных браузерах
        без использования Selenum Server
        с использованием Selenium Server
    тестовые фреймворки py.test и nose
        методы завершения и инициализации
        фабрика браузеров
        группировка тестов в тестовые наборы (suite)
    непрерывный запуск тестов
        сервера непрерывной интеграции jenkins, TeamCity
        параллельный запуск тестов, Selenium Grid и облачные сервисы

Занятие 2: поиск элементов и действия с ними

    открытие страниц приложения
    поиск элементов
        find_element и find_elements
        поиск "на странице" и "внутри элемента"
        явные и неявные ожидания
        переключение между окнами
        переключение между фреймами
    действия с элементами
        основные операции с элементами – click и send_keys
        расширенный набор операций – класс Actions
        нативные и синтезированные события
    получение свойств элементов
        текст элемента
        значения атрибутов элемента

Занятие 3: PageObject и другие шаблоны проектирования тестов

    проектирование автотестов: чем оно отличается от проектирования ручных тестов
    разделение ответственности
        тесты/фреймворк для управления приложением
        тесты/данные, параметризация тестов
        логика приложения/страницы
    специальные средства для представления страниц
        шаблон проектирования PageObject
        py.saunter и другие реализации шаблона Page Object
        Формат курса

        Онлайн-тренинг продолжительностью 3 занятия с еженедельными онлайн-консультациями и практическими домашними заданиями.
        Тренер: Баранцев Алексей