APPIUM Document

  • View

  • Download

Embed Size (px)



Text of APPIUM Document

  • mobile automation made awesome

    Jonathan Lipps Director of Ecosystem & Integrations, Sauce Labs@AppiumDevs @jlipps @saucelabs

    AppsWorld San Francisco, CAFeb 5 2014

  • Ecosystem &Integrations

    Project Lead &Architect

    Jonathan Lipps Director of Ecosystem Sauce Labs@AppiumDevs @jlipps @saucelabs

    Advanced Mobile Testing with Appium and Sauce Labs

  • appium introduction

  • Mobile has won. So how do we scale mobile quality?

  • Risk grows with complexity. Small changes can have huge unintended consequences

  • Automated testing is the solution for a fast dev cycle that maintains high quality

  • Continuous integration is the holy grail: automated testing and deployment

  • The Dev Cycle ofOptimal Happiness[ ]

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

  • appium makes automated testing possible for mobile, clearing the path for real CI

  • appium raison dtre

  • iOS Android



  • The appium philosophyTest the same app you submit to the marketplaceWrite your tests in any language, using any frameworkUse a standard automation speci!cation and APIBuild a large and thriving open-source community eort





  • Platform SupportReal devicesSimulatorsHybrid appsMobile webRobots?!

  • Demos

  • appium real devices

  • appium mobile web

  • appium robots

  • DemosVisit the Sauce Labs booth in the expo for more demos

  • appium architecture

  • Automation OrchestraApple Instruments & UIAutomation for iOSGoogle UiAutomator for Android (4.2.1 up)Selendroid for older Android & hybridMarionette for FirefoxOSWebDriver interface

  • appium is an HTTP server that creates and handles WebDriver sessions

  • Selenium WebDriverhas been the standard for browser automation

  • Selenium WebDriveris a HTTP APIPOST /sessionPOST /session/elementGET /session/element/:id/:attr

  • Selenium WebDriverhas clients in every* language

  • Selenium WebDriver is a W3C working draft*

  • appium extends the WebDriver protocol with mobile-specific behaviors

  • appium is working with the Selenium project so we can standardize these extensions

  • appium setup

  • RequirementsBasically the same as dev toolkits for iOS, AndroidXcode + iOS SDKAndroid SDK + Java

  • Install: Option OneClone from GitHubREPO=appium/appium.gitgit clone$REPOcd appium && ./reset.shnode .

  • Install: Option TwoInstall from NPMnpm install -g appiumappium

  • Install: Option ThreeDownload the GUI app# /Applications/

  • appium test model

  • Start/stop a session

  • Start/stop a session

  • Find elements

  • Interact with elements

  • Access webview elements

  • appium scale

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

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

  • Run tests on Sauce


  • appium is also compatible with Selenium Grid, which helps with your own closet cloud

  • appium future

  • Appium 1.0Native client support for mobile methodsBetter Windows supportBetter documentation and tutorialsFull XPath element finding support...and more!


  • appium hackers

  • We need you...Node.js devs (for Appium server)Obj-c devs (for devs (for Appium.exe)Java devs (for Appiums Android bootstrap)Windows Phone devs (we need to support it!)Hardware hackers (for robot automation)

  • Please head to the Mobile QA Panel at 4:00pm!

  • Questions? @jlipps @saucelabs

  • Thanks! @jlipps @saucelabs