Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

appium trivia

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

Unix sockets!

Slide 8

Slide 8 text

appium history

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

After almost one year...

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

appium 1.0

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

Supported by Sauce Labs, Facebook, eBay, and Mozilla

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

Page source returns XML

Slide 21

Slide 21 text

Mobile-specific APIs: virtual_keyboard acceleromator geolocation rotation battery_level network_speed

Slide 22

Slide 22 text

Native “context” API. No more mobile: leaveWebView

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

appium roadmap

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

appium for you

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

appium community

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

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