28
BDD JBehave and Cucumber JVM + Appium for efficient cross-platform Mobile Automation

Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile automation

  • View
    276

  • Download
    7

Embed Size (px)

DESCRIPTION

Предлагаем вашему вниманию презентацию «BDD JBehave and Cucumber JVM + Appium for efficient cross-platform Mobile Automation». Этой презентацией сопровождался доклад Антона Семенченко, прочитанный 29 июня на конференции MobileOptimized 2014 в Минске.

Citation preview

Page 1: Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile automation

BDD JBehave and Cucumber JVM +

Appium for efficient cross-platform Mobile Automation

Page 2: Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile automation

...Немного о себе

Опыт в IT 10 , более лет работаю в компанииISSoft, специализируюсь в разработке и

автоматизированном тестировании .програмного обеспечения плюсменеджмент

Антон Семенченко

Page 3: Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile automation

Appium - …

… – HTTP , сервер который создает и Webdriver.управляет сессиями

… – инструмент автоматизации , мобильных приложений Webdriver API.использующих

Page 4: Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile automation

App + oppium = ?

Адаптеры для браузеров

Appium, Selendroid, IOSdriver

JSON Wire Protocol

JSON Wire Protocol

Webdriver

Page 5: Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile automation

Webdriver API. ?Бонусы

Тесты на любом языке программирования Интеграция с любым тестовым фреймворком

Selenium Grid для распределенного запуска тестов QA Тысячи девелоперов и специалистов Webdriver используют и знакомы с его моделью

Page 6: Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile automation

Appium …поддерживает

• IOS • Android • Firefox OS

:Платформы

Page 7: Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile automation

Appium …поддерживает

• Windows • Linux • Mac OS

:Операционные системы

Page 8: Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile automation

Appium …поддерживает

• Физические • Эмуляторы

:Устройства

Page 9: Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile automation

Appium …поддерживает

• Нативные • Веб • Гибридные

:Приложения

Page 10: Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile automation

AppiumПодкапотом

AppiumMarionetteUIAutomation

UIAutomator Selendroid

Page 11: Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile automation

IOSПодкапотом

При автоматизации приложения на IOSappium замещает команды от webdriverна понятные UIAutomation скрипту, запущенному в Instruments.

Page 12: Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile automation

AndroidПодкапотом

При автоматизации Android приложенияappium транслирует команды от webdriverна понятные UIAutomator скрипту,запущенному на устройстве.

Page 13: Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile automation

...Инновации

Appium делает возможным :кроссплатформенные тесты

– Один тест

.две платформы

Page 14: Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile automation

– Один тест две платформы

Page 15: Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile automation

Behavior Driven Development

User Stories Test Driven Development Domain Driven Design Continuous Integration

, Метод разработки основанный на:

Page 16: Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile automation

Cucumber на JVM

Gherkin синтакстис JUnit Таблицы параметров Форматирование данных Background и Hooks Генерация отчетов Open Source c активным

сообщестом

Page 17: Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile automation

Maven зависимости

Page 18: Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile automation

Сценарии Given When Then

Тестовый сценарий: как пользователь я хочу залогиниться

Допустим: Пользователь хочет залогиниться

Когда: Пользователь логинится с “UserName” и “Pass”

Тогда: Пользователь должен попасть на Home Page

КодUse case

Page 19: Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile automation

Фичи

• Сценарии организуются в фичи

• Каждая фича представлена текстовым фалом• Файл с фичами имеет расширение .feature

• .feature файл может содержать множество сценариев

Page 20: Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile automation

Пример: login.feature

Page 21: Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile automation

Описание шаговGiven User wants to login

When User logins with username UserName and password Pass

Then User should see home page

Page 22: Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile automation

DDT

Page 23: Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile automation

Запуск с параметрами

Page 24: Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile automation

Хуки

Page 25: Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile automation

Теги

Page 26: Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile automation

Репорты

Page 27: Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile automation

Итоги• Языковые средства Webdriver API

• Любой язык программирования (почти)

• Кроссплатформенные тесты

• Живая документация

• Подробные отчеты по шагам

• CI ready

Page 28: Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile automation

!Спасибо за внимание

[email protected]