32
И никуда не надо ехать! Appium . Тестируем гибридные мобильные приложения в стиле Webdriver API Андрей Стахиевич | issoft.by

Appium confet qa

  • View
    738

  • Download
    5

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Appium confet qa

И никуда не надо ехать!

Appium.Тестируем гибридные мобильные

приложения в стиле Webdriver API

Андрей Стахиевич | issoft.by

Page 2: Appium confet qa

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

Андрей СтахиевичКомпания [email protected]• ASP.Net developer с 2-летним стажем• Selenium Webdriver-based test automation

specialist с 2-летним стажем• Mobile test automation specialist cо стажем 1 год

Являюсь большим поклонником Selenium Webdriver и связанных с ним технологий.

Page 3: Appium confet qa

• Несколько слов об• Рутина автоматизации гибридного

приложения.• Кроссплатформенные тесты. Миф или реальность?

Поговорим…

Page 4: Appium confet qa

Appium - …

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

Page 5: Appium confet qa

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

Appium - …

Page 6: Appium confet qa

App + oppium = ?

Webdriver

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

Appium, Selendroid, IOSdriver

JSON Wire Protocol

JSON Wire Protocol

Page 7: Appium confet qa

Webdriver API. Бонусы?

• Тесты на любом языке программирования.

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

Page 8: Appium confet qa

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

Платформы:• IOS • Android • Firefox OS

Page 9: Appium confet qa

Операционные системы:• Windows • Linux • Mac OS

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

Page 10: Appium confet qa

Приложения:• Нативные • Веб • Гибридные

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

Page 11: Appium confet qa

Устройства:• Физические • Эмуляторы

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

Page 12: Appium confet qa

Под капотом Appium

AppiumMarionetteUIAutomation

SelendroidUIAutomator

Page 13: Appium confet qa

Под капотом IOS

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

Page 14: Appium confet qa

Под капотом IOS

Page 15: Appium confet qa

Под капотом Android

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

Page 16: Appium confet qa

Под капотом Android

Page 17: Appium confet qa

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

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

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

Page 18: Appium confet qa

Wildflower – мобильное гибридное приложение.

Две версии: для IOS и Android.Постороено с использованием :

Проект

И

Page 19: Appium confet qa

Нам надо...

• Один инструмент для IOS и Android.• Язык программирования: Java или C#.• Data driven подход в тестах.

• Возможность параллельного запуска тестов (или распределенного).• Одни и те же тесты должны работать с IOS и Android.

Page 20: Appium confet qa

Нод

Нод

UIAutomation

Selendroid

Стек технологий

+

ReportNG

+

Page 21: Appium confet qa

Ключевые моменты:

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

• Работа с Web View и поиск локаторов.• Ожидание событий• Универсальные Actions

• TestNG DDT и Selenium Grid

Page 22: Appium confet qa

Переключатель

Page 23: Appium confet qa

Waiters

Явное ожидание

Неявное ожидание

Page 24: Appium confet qa

Actions

• Selendroid: new TouchActions(driver).singleTap(elem).perform()

• UIAutomation:((JavascriptExecutor)driver).executeScript("mobile: tap");

IOS

Android

Page 25: Appium confet qa

Локаторы: Инспектор

Элементы

Приложение

Actions

Код Инфа

Page 26: Appium confet qa

Локаторы: Еще инспектор

Разметка

Приложение

Код

ИнфаЭлементы

Page 27: Appium confet qa

Репорты

TestNG + ReportNG

Page 28: Appium confet qa

Запуск

TestNG DDT +

Selenium Grid

Page 29: Appium confet qa

One Test – Two Platforms

Page 30: Appium confet qa

Итого: ЗА

+ Большой выбор языков программирования.

+ Языковые средства Webdriver API.

+ Сложность автоматизации перенесена на “плечи” Appium сервера, который создает абстракцию над конкретной платформой и ее особенностями.

+ Нет необходимости внедрять “агентов” в приложение.

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

Page 31: Appium confet qa

- Недостаточно документации

- Нестабильность тестов в целом

- Пока много багов

Итого: ПРОТИВ

Page 32: Appium confet qa

Андрей Стахиевич[email protected]

Компания ISSOF Solutionshttp://www.issoft.by/

http://appium.io/

Спасибо