Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Автоматизация тестирования iOS приложений: от ...

Автоматизация тестирования iOS приложений: от идеи к готовому решению.

Существующие решения для автоматизации мобильных iOS приложений не являются гибкими, плохо расширяемы, имеют ограниченное количество API и их трудно использовать для смешенного тестирования на крупных проектах. В докладе Вы услышите о том, как удалось преодолеть все эти недостатки в созданном солюшене и сделать автоматизацию эффективной на рабочем проекте.

Части доклада:

• Существующие решения (Apple Tools, FoneMonkey, UISpec) и их недостатки;
• Открытая технология driver-server как ключ к взаимодействию с мобильным устройством;
• Просто код – это ненаглядно: визуализация текущего внутреннего состояния приложения;
• Автоматизация тестирования гибридных приложений (native + web);
• Специфика мобильной платформы iOS в контексте автоматизации тестирования.

Github link: https://github.com/EPAM-Systems/EPAM-Mobile-TAF - It is an open-source Test Automation Framework (TAF) for mobile applications. Contributions welcome!

Avatar for Viktar Karanevich

Viktar Karanevich

May 28, 2012
Tweet

Other Decks in Programming

Transcript

  1. UI Automation (Apple Tool) Официальная поддержка Apple Простота написания тестов

    Запись сценариев через GUI Только UI-тестирование Ограниченный и нерасширяемый API Ограничения JavaScript
  2. Наше решение Сложность интеграции Влияние на ресурсы мобильного устройства Смешанное

    тестирование Адаптация к требованиям клиента Тесты в стиле Selenium
  3. Пример тестового сценария @Test(timeout = 60000) public void LogIn() throws

    Exception { NativeDriver driver = new iPhoneNativeDriver(); driver.setServerHost("http://localhost:37265"); driver.setElementValue("UITextField=placeholder:User", "username"); driver.setElementValue("UITextField=placeholder:Password", "password"); driver.touch("CustomButton=atIndex:1"); String actualMessage = driver.getElementValue("UILabel=atIndex:1", "text"); String expectedMessage = “Welcome"; Assert.assertEquals(expectedMessage, actualMessage); }
  4. Заключение Лицензия GNU GPL v3 Используется на реальных проектах Реализована

    автоматизация регрессии Ведется разработка решений для платформ Android и BlackBerry