Appium confet qa

Preview:

DESCRIPTION

 

Citation preview

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

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

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

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

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

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

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

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

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

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

Поговорим…

Appium - …

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

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

Appium - …

App + oppium = ?

Webdriver

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

Appium, Selendroid, IOSdriver

JSON Wire Protocol

JSON Wire Protocol

Webdriver API. Бонусы?

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

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

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

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

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

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

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

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

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

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

Под капотом Appium

AppiumMarionetteUIAutomation

SelendroidUIAutomator

Под капотом IOS

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

Под капотом IOS

Под капотом Android

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

Под капотом Android

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

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

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

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

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

Проект

И

Нам надо...

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

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

Нод

Нод

UIAutomation

Selendroid

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

+

ReportNG

+

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

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

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

• TestNG DDT и Selenium Grid

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

Waiters

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

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

Actions

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

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

IOS

Android

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

Элементы

Приложение

Actions

Код Инфа

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

Разметка

Приложение

Код

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

Репорты

TestNG + ReportNG

Запуск

TestNG DDT +

Selenium Grid

One Test – Two Platforms

Итого: ЗА

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

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

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

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

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

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

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

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

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

Андрей Стахиевичandreystakhievich@coherentsolutions.com

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

http://appium.io/

Спасибо

Recommended