Selenium 2 WebDriver + Selenide + Java
с и без использования BDD,
сравнительный анализ
Вадим Зубович
DPI-Solutions
О себе
Вадим Зубович
• IT-консультант DPI Solutions
• Automation tech-lead ISSoft
• Активный участник COMAQA
• Skype: dpi.zubovich
• E-mail: zubovich@dpi.solutions
• http://www.dpi.solutions/
Selenium WebDriver
Инструмент для автоматизации браузеров с
использованием специального API, позволяющего
взаимодействовать с веб-приложением в
пользовательском стиле
Selenium WebDriver
• Кроссплатформенный
• Кроссбраузерный
• Многоязычный
Обертка для Selenium WebDriver, значительно
упрощающая написание и поддержку тестов за счет:
• Сокрытия работы с драйвером
• Встроенной поддержки Ajax
• Применения локаторов в стиле J-Query
• Наличия готовых проверок условий
Типовое построение процессов
• Создается основной функционал приложения
Типовой авто-тест на логин
Behavior Driven Development
Метод разработки, основанный на:
• User Stories
• Test Driven Development
• Domain Driven Design
• Continuous Integration
Behavior Driven Development
Подробнее:
• User Story – краткое описание пользовательских
действий, написанное на языке бизнеса
Behavior Driven Development
Подробнее:
• Test Driven Development – подход в разработке ПО, при
котором сначала производится создание тестов, затем
реализуется соответствующий функционал.
Behavior Driven Development
Подробнее:
• Domain Driven Design – это набор принципов,
подразумевающий разработку на основе моделей
предметных областей
Behavior Driven Development
Подробнее:
• Continuous Integration – принцип разработки
программного обеспечения, подразумевающий
периодическое обновление и сборку проекта
Cucumber на JVM
Maven-зависимости:
Cucumber на JVM
Тестовый сценарий: как пользователь я хочу залогиниться
Допустим: Пользователь хочет залогиниться
Когда: Пользователь логинится с “UserName” и “Pass”
Тогда: Пользователь должен попасть на Home Page
Код
Use case
Features
• Сценарии организуются в фичи
• Каждая фича представлена текстовым файлом
• Файл с фичами имеет расширение .feature и
содержится в тестовом проекте
• Feature-файл может содержать несколько сценариев
Пример: Login.feature
Описание шагов
Given User wants to login
When User logins with username UserName and password Pass
Then User should see home page
DDT
Hooks
Отчеты
Итог
Java+Selenium+Selenide+BDD:
• Кроссплатформенные, кроссбраузерные тесты
• Тесты ДО реализации функционала
• Тесты на «человеческом» языке
• Исчерпывающие отчеты по шагам, фичам и сценариям
• Готовность к Continuous Integration
Спасибо за внимание
Zubovich@dpi.solutions
Skype: dpi.zubovich
Phone: +375 29 691-67-49

Selenium 2 WebDriver + Selenide + Java с и без использования BDD, сравнительный анализ