Этот тренинг устарел. Вместо него запущен новый: 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
Go to top