Successfully reported this slideshow.
Test automation of
Mobile Apps
Ričardas Vaitkus
Mobile is taking over the
world. But how do we scale
mobile quality?
Native Web Hybrid apps
Hybrid apps maker
• PhoneGap
Mobile apps testing
• Appium is cross-platform solution for
native and hybrid mobile automation
Appium philosophy
• Test the same app you submit to the
market
• Write test in any language, using any
framework
• Use sta...
Support platforms
• Real devices
• Simulators
• Native apps
• Hybrid apps
• Mobile web
• Robots?!
Appium in space
iOS

Android

• Calabash-ios

• Calabash-android

• Frank

• MonkeyTalk

• UIAutomation

• Robotium

• ios...
Selenium WebDriver
• Is standard for browser automation, with
libraries in every* language
• Is used every single day by t...
Languages
• WebDriver compatible
•
•
•
•
•
•
•
•
•

Java
Objective-C
JavaScript with Node.js
PHP
Python
Ruby
C#
Perl
Cloju...
Appium architecture
• Appium is an HTTP server that creates
and handles WebDriver sessions
• Appium starts a “test case” o...
Appium architecture
• On iOS, appium proxies commands to a
UIAutomation script running in
Istruments
Appium architecture
• On Android, appium proxies commands
to a UiAutomator test case running on
device
Automation frameworks
• iOS – UIAutomation
• Android >= 4.2 – UiAutomator
• Android < 4.2 & Hybrid – Selendroid
• FireFoxO...
Gestures
• tap (on screen or on element)
• flick (on screen or on element)
• swipe/drag (on screen or on element)
• scroll...
Appium opens door to cross-platform
mobile testing: one test, two mobile
platforms
Test automation of mobile apps (Bugs'a'loud Vilnius QA Gathering)
Upcoming SlideShare
Loading in …5
×

Test automation of mobile apps (Bugs'a'loud Vilnius QA Gathering)

1,569 views

Published on

Presentation from Bugs'a'loud Vilnius QA Gathering

Published in: Technology
  • Be the first to comment

Test automation of mobile apps (Bugs'a'loud Vilnius QA Gathering)

  1. 1. Test automation of Mobile Apps Ričardas Vaitkus
  2. 2. Mobile is taking over the world. But how do we scale mobile quality?
  3. 3. Native Web Hybrid apps
  4. 4. Hybrid apps maker • PhoneGap
  5. 5. Mobile apps testing • Appium is cross-platform solution for native and hybrid mobile automation
  6. 6. Appium philosophy • Test the same app you submit to the market • Write test in any language, using any framework • Use standard automation specification and API
  7. 7. Support platforms • Real devices • Simulators • Native apps • Hybrid apps • Mobile web • Robots?!
  8. 8. Appium in space iOS Android • Calabash-ios • Calabash-android • Frank • MonkeyTalk • UIAutomation • Robotium • ios-driver • UiAutomator • KeepItFunctional • Selendroid
  9. 9. Selenium WebDriver • Is standard for browser automation, with libraries in every* language • Is used every single day by thousands of developers familiar with its model • Is an HTTP API • POST /session • POST /session/element • GET /session/element/:id/:attr • Is a W3C working draft
  10. 10. Languages • WebDriver compatible • • • • • • • • • Java Objective-C JavaScript with Node.js PHP Python Ruby C# Perl Clojure
  11. 11. Appium architecture • Appium is an HTTP server that creates and handles WebDriver sessions • Appium starts a “test case” on the device that spawns a server and listens for proxied commands
  12. 12. Appium architecture • On iOS, appium proxies commands to a UIAutomation script running in Istruments
  13. 13. Appium architecture • On Android, appium proxies commands to a UiAutomator test case running on device
  14. 14. Automation frameworks • iOS – UIAutomation • Android >= 4.2 – UiAutomator • Android < 4.2 & Hybrid – Selendroid • FireFoxOS – Marionette
  15. 15. Gestures • tap (on screen or on element) • flick (on screen or on element) • swipe/drag (on screen or on element) • scroll to (element) • slider • shake • longTap (element)
  16. 16. Appium opens door to cross-platform mobile testing: one test, two mobile platforms

×