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 Slide

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

    View Slide

  3. appium trivia

    View Slide

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

    View Slide

  5. View Slide

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

    View Slide

  7. Unix sockets!

    View Slide

  8. appium history

    View Slide

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

    View Slide

  10. After almost one year...

    View Slide

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

    View Slide

  12. appium 1.0

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  20. Page source returns XML

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  25. appium roadmap

    View Slide

  26. 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 Slide

  27. appium for you

    View Slide

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

    View Slide

  29. appium community

    View Slide

  30. 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 Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide