Appium.
Тестируем мобильные
приложения в облаках с
Андрей Стахиевич | www.comaqa.by
Немного о себе
Андрей Стахиевич
Компания DPI / ISSOFT Solutions
Сообщество COMAQA.BY
info@comaqa.by
• ASP.Net developer с 2-летним стажем
• Selenium Webdriver-based test automation
specialist с 3-летним стажем
• Mobile test automation specialist cо стажем
1,5 год
Поговорим…
• Что такое appium
• Как устроен appium
• Возможности инструмента
• Где и как можно запускать тесты
• Запуск в облаках
Appium - …
Appium – инструмент автоматизации
мобильных приложений,
использующий Webdriver API.
Appium – HTTP сервер,
который создает и
управляет сессиями Webdriver.
App + oppium = ?
Webdriver
Адаптеры для
браузеров
Appium,
Selendroid,
IOSdriver
JSON Wire
Protocol
Mobile JSON Wire
Protocol
Webdriver API. Бонусы?
• Тесты на любом языке программирования.
• Интеграция с любым тестовым фреймворком.
• Selenium Grid для распределенного
запуска тестов.
• Тысячи девелоперов и QA специалистов
используют Webdriver и знакомы
с его моделью.
Appium поддерживает…
Платформы:
• IOS • Android • Firefox OS
Операционные системы:
• Windows • Linux • Mac OS
Устройства:
• Физические • Эмуляторы
Приложения:
• Нативные • Веб • Гибридные
Под капотом Appium
Appium
MarionetteUIAutomation
SelendroidUIAutomator
Под капотом IOS
При автоматизации приложения на IOS
appium замещает команды от webdriver
на понятные UIAutomation скрипту,
запущенному в Instruments.
Под капотом Android
При автоматизации Android приложения
appium транслирует команды от webdriver
на понятные UIAutomator скрипту,
запущенному на устройстве.
Appium делает возможным
кроссплатформенные тесты:
Один тест –
две платформы.
Инновации...
Гибридные приложения, постороенные с
использованием :
Пример
И
Запуск
Локально Selenium Grid Clouds
Легко
конфигурирвать
Нет дополнительных
затрат
Наглядно
Легко
поддерживать
Ограничены
окружение и ресуры
Не масштабируется
Сложно
конфигурировать
Большие
возможности
масштабирования
Сложно
поддерживать
Нет дополнительных
затрат
Большие
возможности
масштабирования
Легко
конфигурирвать
Не нужно
поддерживать
Затраты на услуги
Безопасность и
наглядность
Как запускать
Mobile Devices
Browsers
Desktop and Mobile
Service
Облачные сервисы для тестирования
Критерии
• Доступное окружение: эмуляторы + устройства
• Поддерживаемые типы приложений
• Интеграция с другими инструментами
• Обеспечение безопасности
• Контроль и репортинг
Настройка
1.DesiredCapabilities:
Настройка
2. Application upload:
OR
Настройка
3. Project and test result:
Настройка
4. RemoteWebDriver:
Как это работает
Mobile JSON Wire
Protocol
Appium Server
Cloud
Real devices
Окружение
Android и iOS
эмуляторы
Android эмуляторы и iOS
физические устройства
Android и iOS
физические устройства
Типы приложений
Веб, нативные, гибридные
Веб
Веб, нативные,
гибридные
Контроль и репортинг
Кеширование приложения,
интерактивная сессия, логи,
скриншоты, скринкасты
Логи, скриншоты
Кеширование приложения,
логи, метрики
производительности,
скриншоты
AUT
Connection
Cached
You can trust it! It’s safe!
Security
You can trust it! It’s safe!
No, really!!!
Интеграция
REST API, Jenkins plugin
REST API, Jenkins plugin,
различные эддоны
REST API, Jenkins plugin,
Gradle + Android Studio
Прочие плюшки…
SauceLabs
Кроссбраузерное тестирование Ручное тестированиеТестирование javascript
BrowserStack
Кроссбраузерное
тестирование
СкриншотыТестирование
javascript
Ручное
тестирование
AppThwack
Тестирование совместимости
+
App Explorer
Множество фреймворков Встроенное тестирование
How much?
How much?
How much?
Итого
1. Не все облака одинаково полезны
2. Следует хорошенько взвесить все
за и против
Андрей Стахиевич
info@comaqa.by
http://www.issoft.by
http://www.dpi.solutions
http://www.comaqa.by
Спасибо

Тестируем мобильные приложения в облаках с appium