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

Appium: Automation for Mobile Apps

Appium: Automation for Mobile Apps

This presentation was first given at the Google Test Automation Conference in April of 2013. It introduces Appium, a mobile automation framework, discusses the philosophy behind Appium, and highlights various features.

Most of the content is in my speaking, not the slides themselves. To see the video of the talk, please visit http://www.youtube.com/watch?v=1J0aXDbjiUE&list=SPSIUOFhnxEiCODb8XQB-RUQ0RGNZ2yW7d&index=16

To see the demo video not included in these slides, please visit http://www.youtube.com/watch?v=oTIEt11cXNk

Jonathan Lipps

April 24, 2013
Tweet

More Decks by Jonathan Lipps

Other Decks in Technology

Transcript

  1. automation for mobile apps
    Jonathan Lipps | @jlipps | Sauce Labs

    View Slide

  2. Mobile is taking over the
    world. Where is our mobile
    automation? Our mobile CI?

    View Slide

  3. It's a multi-platform age.
    Mass adoption requires
    cross-platform apps.

    View Slide

  4. appium is the cross-platform
    solution for native and hybrid
    mobile automation

    View Slide

  5. 1
    appium philosophy
    2 3 4

    View Slide

  6. Rule 1 

    Test the same app you submit to
    the marketplace

    View Slide

  7. Rule 2 

    Write your tests in any language,
    using any framework

    View Slide

  8. Rule 3 

    Use a standard automation
    specification and API

    View Slide

  9. Rule 4 

    Build a large and thriving open-
    source community effort

    View Slide

  10. appium in space!
    2 3 4
    1

    View Slide

  11. iOS Android
    calabash-ios
    Frank
    UIAutomation
    ios-driver
    KeepItFunctional
    calabash-android
    MonkeyTalk
    Robotium
    UiAutomator
    selendroid

    View Slide

  12. View Slide

  13. Selenium WebDriver is the
    standard for browser automation,
    with libraries in every* language

    View Slide

  14. Selenium WebDriver is used
    every single day by thousands of
    developers familiar with its model

    View Slide

  15. Selenium WebDriver is a W3C
    working draft

    View Slide

  16. appium architecture
    2 3 4
    1

    View Slide

  17. appium is an HTTP server that
    creates and handles WebDriver
    sessions

    View Slide

  18. appium starts a "test case" on the
    device that spawns a server and
    listens for proxied commands

    View Slide

  19. On iOS, appium proxies
    commands to a UIAutomation
    script running in Instruments

    View Slide

  20. View Slide

  21. On Android, appium proxies
    commands to a UiAutomator
    test case running on the device

    View Slide

  22. View Slide

  23. appium in action
    2 3 4
    1

    View Slide

  24. appium opens the door to cross-
    platform mobile testing: one
    test, two mobile platforms

    View Slide

  25. Demo app
    donated by

    View Slide

  26. View Slide

  27. View Slide

  28. View Slide

  29. View Slide

  30. View Slide

  31. Demo

    View Slide

  32. View Slide

  33. View Slide

  34. View Slide

  35. appium is great for local test
    development, but has limitations
    when scaling up for use in CI

    View Slide

  36. Sauce Labs is great for scale
    when you need to run a lot of
    appium tests in your build

    View Slide

  37. saucelabs.com/appium

    View Slide

  38. Questions?

    View Slide

  39. appium.io
    github.com/appium/appium  
    @AppiumDevs    |    @jlipps    |    @saucelabs  
    Thank you

    View Slide