bdd jbehave или cucumber jvm + appium для эффективной...
DESCRIPTION
Доклад Антона Семенченко в блоке QA Club на конференции Mobile Optimized 2014TRANSCRIPT
![Page 1: BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной автоматизации мобильных приложений - Антон](https://reader035.vdocuments.mx/reader035/viewer/2022081720/547b21f0b37959492b8b4c7c/html5/thumbnails/1.jpg)
BDD JBehave and Cucumber JVM +
Appium for efficient cross-platform Mobile Automation
![Page 2: BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной автоматизации мобильных приложений - Антон](https://reader035.vdocuments.mx/reader035/viewer/2022081720/547b21f0b37959492b8b4c7c/html5/thumbnails/2.jpg)
...Немного о себе
Опыт в IT 10 , более лет работаю в компанииISSoft, специализируюсь в разработке и
автоматизированном тестировании .програмного обеспечения плюсменеджмент
Антон Семенченко
![Page 3: BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной автоматизации мобильных приложений - Антон](https://reader035.vdocuments.mx/reader035/viewer/2022081720/547b21f0b37959492b8b4c7c/html5/thumbnails/3.jpg)
Appium - …
… – HTTP , сервер который создает и Webdriver.управляет сессиями
… – инструмент автоматизации , мобильных приложений Webdriver API.использующих
![Page 4: BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной автоматизации мобильных приложений - Антон](https://reader035.vdocuments.mx/reader035/viewer/2022081720/547b21f0b37959492b8b4c7c/html5/thumbnails/4.jpg)
App + oppium = ?
Адаптеры для браузеров
Appium, Selendroid, IOSdriver
JSON Wire Protocol
JSON Wire Protocol
Webdriver
![Page 5: BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной автоматизации мобильных приложений - Антон](https://reader035.vdocuments.mx/reader035/viewer/2022081720/547b21f0b37959492b8b4c7c/html5/thumbnails/5.jpg)
Webdriver API. ?Бонусы
Тесты на любом языке программирования
Интеграция с любым тестовым фреймворком
Selenium Grid для распределенного запуска тестов QA Тысячи девелоперов и специалистов Webdriver используют и знакомы с его моделью
![Page 6: BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной автоматизации мобильных приложений - Антон](https://reader035.vdocuments.mx/reader035/viewer/2022081720/547b21f0b37959492b8b4c7c/html5/thumbnails/6.jpg)
Appium …поддерживает
• IOS • Android • Firefox OS
:Платформы
![Page 7: BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной автоматизации мобильных приложений - Антон](https://reader035.vdocuments.mx/reader035/viewer/2022081720/547b21f0b37959492b8b4c7c/html5/thumbnails/7.jpg)
Appium …поддерживает
• Windows • Linux • Mac OS
:Операционные системы
![Page 8: BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной автоматизации мобильных приложений - Антон](https://reader035.vdocuments.mx/reader035/viewer/2022081720/547b21f0b37959492b8b4c7c/html5/thumbnails/8.jpg)
Appium …поддерживает
• Физические • Эмуляторы
:Устройства
![Page 9: BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной автоматизации мобильных приложений - Антон](https://reader035.vdocuments.mx/reader035/viewer/2022081720/547b21f0b37959492b8b4c7c/html5/thumbnails/9.jpg)
Appium …поддерживает
• Нативные • Веб • Гибридные
:Приложения
![Page 10: BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной автоматизации мобильных приложений - Антон](https://reader035.vdocuments.mx/reader035/viewer/2022081720/547b21f0b37959492b8b4c7c/html5/thumbnails/10.jpg)
AppiumПодкапотом
AppiumMarionetteUIAutomation
UIAutomator Selendroid
![Page 11: BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной автоматизации мобильных приложений - Антон](https://reader035.vdocuments.mx/reader035/viewer/2022081720/547b21f0b37959492b8b4c7c/html5/thumbnails/11.jpg)
IOSПодкапотом
При автоматизации приложения на IOSappium замещает команды от webdriverна понятные UIAutomation скрипту, запущенному в Instruments.
![Page 12: BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной автоматизации мобильных приложений - Антон](https://reader035.vdocuments.mx/reader035/viewer/2022081720/547b21f0b37959492b8b4c7c/html5/thumbnails/12.jpg)
AndroidПодкапотом
При автоматизации Android приложенияappium транслирует команды от webdriverна понятные UIAutomator скрипту,запущенному на устройстве.
![Page 13: BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной автоматизации мобильных приложений - Антон](https://reader035.vdocuments.mx/reader035/viewer/2022081720/547b21f0b37959492b8b4c7c/html5/thumbnails/13.jpg)
...Инновации
Appium делает возможным :кроссплатформенные тесты
– Один тест
.две платформы
![Page 14: BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной автоматизации мобильных приложений - Антон](https://reader035.vdocuments.mx/reader035/viewer/2022081720/547b21f0b37959492b8b4c7c/html5/thumbnails/14.jpg)
– Один тест две платформы
![Page 15: BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной автоматизации мобильных приложений - Антон](https://reader035.vdocuments.mx/reader035/viewer/2022081720/547b21f0b37959492b8b4c7c/html5/thumbnails/15.jpg)
Behavior Driven Development
User Stories Test Driven Development Domain Driven Design Continuous Integration
, Метод разработки основанный на:
![Page 16: BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной автоматизации мобильных приложений - Антон](https://reader035.vdocuments.mx/reader035/viewer/2022081720/547b21f0b37959492b8b4c7c/html5/thumbnails/16.jpg)
Cucumber на JVM
Gherkin синтакстис
JUnit
Таблицы параметров
Форматирование данных
Background и Hooks
Генерация отчетов
Open Source c активным сообщестом
![Page 17: BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной автоматизации мобильных приложений - Антон](https://reader035.vdocuments.mx/reader035/viewer/2022081720/547b21f0b37959492b8b4c7c/html5/thumbnails/17.jpg)
Maven зависимости
![Page 18: BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной автоматизации мобильных приложений - Антон](https://reader035.vdocuments.mx/reader035/viewer/2022081720/547b21f0b37959492b8b4c7c/html5/thumbnails/18.jpg)
Сценарии Given When Then
Тестовый сценарий: как пользователь я хочу залогиниться
Допустим: Пользователь хочет залогиниться
Когда: Пользователь логинится с “UserName” и “Pass”
Тогда: Пользователь должен попасть на Home Page
КодUse case
![Page 19: BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной автоматизации мобильных приложений - Антон](https://reader035.vdocuments.mx/reader035/viewer/2022081720/547b21f0b37959492b8b4c7c/html5/thumbnails/19.jpg)
Фичи
• Сценарии организуются в фичи
• Каждая фича представлена текстовым фалом
• Файл с фичами имеет расширение .feature
• .feature файл может содержать множество сценариев
![Page 20: BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной автоматизации мобильных приложений - Антон](https://reader035.vdocuments.mx/reader035/viewer/2022081720/547b21f0b37959492b8b4c7c/html5/thumbnails/20.jpg)
Пример: login.feature
![Page 21: BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной автоматизации мобильных приложений - Антон](https://reader035.vdocuments.mx/reader035/viewer/2022081720/547b21f0b37959492b8b4c7c/html5/thumbnails/21.jpg)
Описание шаговGiven User wants to login
When User logins with username UserName and password Pass
Then User should see home page
![Page 22: BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной автоматизации мобильных приложений - Антон](https://reader035.vdocuments.mx/reader035/viewer/2022081720/547b21f0b37959492b8b4c7c/html5/thumbnails/22.jpg)
DDT
![Page 23: BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной автоматизации мобильных приложений - Антон](https://reader035.vdocuments.mx/reader035/viewer/2022081720/547b21f0b37959492b8b4c7c/html5/thumbnails/23.jpg)
Запуск с параметрами
![Page 24: BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной автоматизации мобильных приложений - Антон](https://reader035.vdocuments.mx/reader035/viewer/2022081720/547b21f0b37959492b8b4c7c/html5/thumbnails/24.jpg)
Хуки
![Page 25: BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной автоматизации мобильных приложений - Антон](https://reader035.vdocuments.mx/reader035/viewer/2022081720/547b21f0b37959492b8b4c7c/html5/thumbnails/25.jpg)
Теги
![Page 26: BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной автоматизации мобильных приложений - Антон](https://reader035.vdocuments.mx/reader035/viewer/2022081720/547b21f0b37959492b8b4c7c/html5/thumbnails/26.jpg)
Репорты
![Page 27: BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной автоматизации мобильных приложений - Антон](https://reader035.vdocuments.mx/reader035/viewer/2022081720/547b21f0b37959492b8b4c7c/html5/thumbnails/27.jpg)
Итоги
• Языковые средства Webdriver API
• Любой язык программирования (почти)
• Кроссплатформенные тесты
• Живая документация
• Подробные отчеты по шагам
• CI ready