mobile automation made awesome
@AppiumDevs | @saucelabs
Live Panel / Core Committers Q&A
5/29/2014
Necessity is the mother of invention
The Problem
• Mistakes in iOS applications are expensive
• You have to live with bugs until the App Store has
approved the build with your fixes
•best case a couple of days
• Testing mobile phones is physically exhausting
• These things are designed to be used all day
•tiny keyboards
•tiny screens
Developing a Solution
• Why can’t we automate it, like we do with websites?
• Instruments UIAutomation has issues
• must be programmed in javascript
• must be run in a sandbox (no access to outside
world)
• control is scripted and non-realtime
The Solution
• use shell command method to talk to the outside word
• with friends like /bin/cat and python you can do
anything
• run commands using eval()
• make a real-time server
• repurpose the JSON wire protocol
Assembling supporters
Building Support
• April 2012
• Appium (called iOSAuto at the time) was demoed as
an SeConf 2012 Lightning talk
• November 2012
• Jason Huggins jumps in and helps rewrite the code
for the Mobile Test Summit
• January 2013
• Open Source project begins, Android support is
added
Gaining Traction
• June 2013
• Appium is presented at SeConf 2013 alongside
Selendroid, iOSDriver and others
• Result: Selenium project endorses freedom of choice
• May 2013
• Appium 1.0
World domination
Lessons Learned
• If at first you don’t succeed, rewrite the entire codebase
and try again
• The most awesome thing will win
• With a strong community, there’s going to be someone
who can solve that problem that you find impossible
appium 1.0 and beyond
The road to 1.0
• 16 months of hard work
• Starting code and community from scratch
• Many conferences and road trips to spread the word
• Amazing help from community contributors large and
small
• Surpassing all expectations and getting the attention of
the world
• OSS Rookie of the Year, anyone?
What’s new
• Stability
• New client libraries
• New, more sensible desired caps
• New Xpath support
• Android hybrid support
• New, more sensible locator strategies
• MultiAction gesture API
• New docs/tutorials
What’s new
• Companies large and small adopting Appium
• (Who says it’s not “battle-tested”?)
• appium-discuss list blowing up
• Moving to a new solution soon
• More and more community members contributing code
• Demand for support outpacing what a few of us can
handle
What’s next
• Major focus on doc/tutorial content---need to make
things easier for beginners and mobile novices
• Bugfixes
• More tests and a CI to run testsuite on every commit, for
improved quality and fewer regressions
• Systematizing project management, prioritizing new
directions for Appium
• Efforts to engage the community (you!) to pitch in and
make Appium better, and to help support each other
better
Recording of Live Panel with Core
Appium Contributors
Link:
https://saucelabsreview.webex.com/saucelabsr
eview/lsr.php?RCID=f6852510974c4cfe9fac26
53445fb5c2
appium.io
github.com/appium/appium
@AppiumDevs | @saucelabs
Q&A!

Live Panel: Appium Core Committers Answer Your Questions

  • 1.
    mobile automation madeawesome @AppiumDevs | @saucelabs Live Panel / Core Committers Q&A 5/29/2014
  • 2.
    Necessity is themother of invention
  • 3.
    The Problem • Mistakesin iOS applications are expensive • You have to live with bugs until the App Store has approved the build with your fixes •best case a couple of days • Testing mobile phones is physically exhausting • These things are designed to be used all day •tiny keyboards •tiny screens
  • 4.
    Developing a Solution •Why can’t we automate it, like we do with websites? • Instruments UIAutomation has issues • must be programmed in javascript • must be run in a sandbox (no access to outside world) • control is scripted and non-realtime
  • 5.
    The Solution • useshell command method to talk to the outside word • with friends like /bin/cat and python you can do anything • run commands using eval() • make a real-time server • repurpose the JSON wire protocol
  • 6.
  • 7.
    Building Support • April2012 • Appium (called iOSAuto at the time) was demoed as an SeConf 2012 Lightning talk • November 2012 • Jason Huggins jumps in and helps rewrite the code for the Mobile Test Summit • January 2013 • Open Source project begins, Android support is added
  • 8.
    Gaining Traction • June2013 • Appium is presented at SeConf 2013 alongside Selendroid, iOSDriver and others • Result: Selenium project endorses freedom of choice • May 2013 • Appium 1.0
  • 9.
  • 10.
    Lessons Learned • Ifat first you don’t succeed, rewrite the entire codebase and try again • The most awesome thing will win • With a strong community, there’s going to be someone who can solve that problem that you find impossible
  • 11.
  • 12.
    The road to1.0 • 16 months of hard work • Starting code and community from scratch • Many conferences and road trips to spread the word • Amazing help from community contributors large and small • Surpassing all expectations and getting the attention of the world • OSS Rookie of the Year, anyone?
  • 13.
    What’s new • Stability •New client libraries • New, more sensible desired caps • New Xpath support • Android hybrid support • New, more sensible locator strategies • MultiAction gesture API • New docs/tutorials
  • 14.
    What’s new • Companieslarge and small adopting Appium • (Who says it’s not “battle-tested”?) • appium-discuss list blowing up • Moving to a new solution soon • More and more community members contributing code • Demand for support outpacing what a few of us can handle
  • 15.
    What’s next • Majorfocus on doc/tutorial content---need to make things easier for beginners and mobile novices • Bugfixes • More tests and a CI to run testsuite on every commit, for improved quality and fewer regressions • Systematizing project management, prioritizing new directions for Appium • Efforts to engage the community (you!) to pitch in and make Appium better, and to help support each other better
  • 16.
    Recording of LivePanel with Core Appium Contributors Link: https://saucelabsreview.webex.com/saucelabsr eview/lsr.php?RCID=f6852510974c4cfe9fac26 53445fb5c2
  • 17.