Upload
qa-club-minsk
View
851
Download
2
Embed Size (px)
DESCRIPTION
Презентация со встречи QA Club Minsk (адаптированная под Confet QA) 4 декабря 2013 г. "Appium Mobile Automation Tool", автор и докладчик Андрей Стахиевич
Citation preview
И никуда не надо ехать!
Appium.Тестируем гибридные мобильные приложения в стиле Webdriver API
Немного о себе
Андрей СтахиевичКомпания [email protected]• ASP.Net developer с 2-летним стажем• Selenium Webdriver-based test automation
specialist с 2-летним стажем• Mobile test automation specialist cо стажем 1 год
Являюсь большим поклонником Selenium Webdriver и связанных с ним технологий.
• Несколько слов об• Рутина автоматизации гибридного
приложения.• Кроссплатформенные тесты. Миф или
реальность?
Поговорим…
App + oppium = ?
Webdriver
Адаптеры для браузеров
Appium, Selendroid, IOSdriver
JSON Wire Protocol
JSON Wire Protocol
Appium — инструмент для автоматизации мобильных приложений, использующих Webdriver API.
Appium – HTTP сервер, который создает и управляет сессиями Webdriver.
Appium - …
• Тесты на любом языке программирования.• Интеграция с любым тестовым
фреймворком.• Selenium Grid для распределенного запуска
тестов.• Тысячи девелоперов и QA специалистов
используют Webdriver и знакомы с его моделью.
Webdriver API. Бонусы?
Под капотом Appium
AppiumMarionetteUIAutomation
SelendroidUIAutomator
На IOS appium замещает команды от webdriver на понятные UIAutomation скрипту, запущенному в Instruments.
Под капотом IOS
На Android appium транслирует команды от webdriver на понятные UIAutomation скрипту, запущенному на устройстве.
Под капотом Android
Под капотом Selendroid
• При автоматизации Android можно выбирать между Selendroid и UIAutomator.
Appium делает возможным кроссплатформенные тесты:
Один тест – две платформы.
Инновации...
Wildflower – мобильное гибридное приложение.Две версии: для IOS и Android.Постороено с использованием :
Проект
И
Гибрид
• Переключение между views.
• Нахождение нужного view.
• Внахождение UI элементов и взаимодествие с ними не только в нативном, но и в веб view.
• Исследование разметки
• Один инструмент для : IOS и Android .• Языка программирования Java или C#.• Data driven подход в тестах.• Возможность параллельного запуска тестов
(или распределенного).• Одни и те же тесты должны работать с IOS и
Android.
Нам надо...
Инспектор
Разметка
Приложение
Actions
Код
Инфа
Еще инспектор
Разметка
Приложение
Код
Инфа
Элементы
Ключевые моменты:
• Переключение Views• Ожидание событий• Универсальные Actions
Кроссплатформенность
public static void SwitchToWebView(WebDriver driver) { for(String winHandle : driver.getWindowHandles()){ if(winHandle.contains("WEBVIEW")){ driver.switchTo().window(winHandle); } }; }
Views
• driver.manage().timeouts().implicitlyWait (DEFAULT_TIMEOUT, TimeUnit.SECONDS);
• TestWaiter.waitFor(WaitingConditions. windowHandleCountToBe(driver,2));
Waiters
• public static void singleTap(WebDriver driver, WebElement elem) {
new TouchActions(driver).singleTap(elem).perform(); }• ((JavascriptExecutor)driver).executeScript("mobile: tap");
Actions
@Testpublic void scrollingHotListItemsTest() throws Exception {
start().clickOnHotListButton().addHotListItem(SECOND_HOT_LIST_ITEM_TEXT).addHotListItem(THIRD_HOT_LIST_ITEM_TEXT).verifyIsScrollingHotListItemsWorks();
}
Демо
Андрей Стахиевич[email protected]
Компания ISSOF Solutionshttp://www.issoft.by/
http://appium.io/
Спасибо