Разработка тестов на Python с использованием Selenium 2.0
Этот тренинг устарел. Вместо него запущен новый: Selenium WebDriver: полное руководство
Онлайн-тренинг с домашними заданиями, 3 занятия
Тренер: Баранцев Алексей
За прошедшие несколько лет инструмент автоматизации тестов для веб-приложений Selenium приобрел фантастическую популярность.
Владение этим инструментом стало одним из обязательных умений для тестировщика-автоматизатора, достаточно посмотреть динамику вакансий, чтобы убедиться в этом.
Если вы хотите считаться профессионалом в области автоматизации тестирования, строчка "я знаю Selenium" обязательно должна присутствовать в вашем резюме.
Простые тесты можно создавать при помощи рекордеров Selenium IDE или Selenium Builder. Но при увеличении объёма и сложности тестов этот подход теряет свою эффективность и привлекательность. Профессионалы пишут тесты на языках программирования.
Если до этого Вы не занимались автоматизацией и не знакомы с Selenium, то лучше начать с курса Selenium 2.0: стартовый уровень.
Python входит в число четырёх языков программирования, которые официально поддерживаются Selenium (наряду с Java, Ruby и C#). Также существует аналогичный тренинг на языке Java и на языке C#.
Этот курс предназначен для тех, кто хочет освоить программный интерфейс 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