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

On the Road to Appium 1.0

On the Road to Appium 1.0

In this presentation to the Appium SF meetup group (http://www.meetup.com/Appium-SF/), I go into some detail on what's coming up for Appium, and introduce some of the milestones we need to hit for Appium 1.0.

Jonathan Lipps

December 11, 2013
Tweet

More Decks by Jonathan Lipps

Other Decks in Programming

Transcript

  1. on the road to appium 1.0
    Jonathan Lipps • Sr Developer • Sauce Labs
    @AppiumDevs • @jlipps • @saucelabs
    AppiumSF Meetup • San Francisco, CA
    Dec 11 2013

    View full-size slide

  2. Jonathan Lipps • Sr Developer • Sauce Labs
    @AppiumDevs • @jlipps • @saucelabs
    Ecosystem &
    Integrations
    Project Lead &
    Architect

    View full-size slide

  3. appium trivia

    View full-size slide

  4. Who gave the first talk on
    appium and where was it?

    View full-size slide

  5. How does the appium server
    send data back and forth to
    the iOS bootstrap.js?

    View full-size slide

  6. Unix sockets!

    View full-size slide

  7. appium history

    View full-size slide

  8. Restarted from scratch Jan 9,
    2013, based on Dan Cuellar
    and Jason Huggins’s work

    View full-size slide

  9. After almost one year...

    View full-size slide

  10. Over 3,000 commits
    658 stars
    532 forks
    70 contributors
    825 pull requests
    1,500 issues closed
    Dozens of conferences and meetups
    #AppiumSF!

    View full-size slide

  11. The Mobile JSON Wire
    Protocol: “Selenium 3”
    => Protocol, not product

    View full-size slide

  12. Collaboration between
    Selenium, Appium, ios-driver,
    Selendroid, FirefoxOS

    View full-size slide

  13. Supported by Sauce Labs,
    Facebook, eBay, and Mozilla

    View full-size slide

  14. Spec available in draft form:
    https://code.google.com/p/selenium/
    source/browse/spec-draft.md?
    repo=mobile

    View full-size slide

  15. appium 1.0 will implement this
    new, more mature spec (with
    backwards compat)

    View full-size slide

  16. New desired caps:
    platformName iOS
    platformVersion 7
    deviceName iPhone 5s

    View full-size slide

  17. Locator strategies:
    class_name UIAPickerWheel
    accessibility_id Login
    xpath //UIAElement[3]
    id myElement
    ios_uiautomation app.buttons()[2]
    android_uiautomator ?

    View full-size slide

  18. Page source returns XML

    View full-size slide

  19. Mobile-specific APIs:
    virtual_keyboard
    acceleromator
    geolocation
    rotation
    battery_level
    network_speed

    View full-size slide

  20. Native “context” API. No
    more mobile: leaveWebView

    View full-size slide

  21. Server-side waits! Ask the
    server to wait for condition
    instead of waiting in code

    View full-size slide

  22. Official clients will add
    support for new features. No
    more mobile: xxx

    View full-size slide

  23. appium roadmap

    View full-size slide

  24. Real XPath parser
    Native Android webview support
    (4.3+, ?)
    Better platform support (sorry,
    Windows!)
    Better docs and tutorials
    Moar Appium Doctor
    Advanced gestures (iOS)
    Minimizing iOS flakiness

    View full-size slide

  25. appium for you

    View full-size slide

  26. Timeline: fluid :-)
    Backwards compatibility
    Better cross-platform (Selendroid
    using same API)
    Do migrate your tests early!

    View full-size slide

  27. appium community

    View full-size slide

  28. We need you to...
    Keep writing tests!
    Keep contributing code
    Help us with the migration to the 1.0 spec
    DDOS Apple/Google with bug reports
    DDOS Apple/Google with feature requests

    View full-size slide

  29. And...
    Keep being awesome
    Keep being encouraging
    ...people are paying attention.

    View full-size slide

  30. Thanks for a great 2013!
    Here’s to another year of
    appium with you guys

    View full-size slide

  31. Questions?
    http://appium.io
    https://github.com/appium/appium
    @AppiumDevs • @jlipps • @saucelabs

    View full-size slide

  32. Thanks!
    http://appium.io
    https://github.com/appium/appium
    @AppiumDevs • @jlipps • @saucelabs

    View full-size slide