jonathan lipps appium mobile automation made awesome
DESCRIPTION
Appium Mobile Automation Made AwesomeTRANSCRIPT
![Page 1: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/1.jpg)
mobile automation made awesome
Jonathan Lipps • Sr Developer • Sauce Labs
@AppiumDevs • @jlipps • @saucelabs
App Developers Conference • Los Angeles, CANov 6 2013
![Page 2: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/2.jpg)
Jonathan Lipps • Sr Developer • Sauce Labs
@AppiumDevs • @jlipps • @saucelabs
http://mobro.co/jlipps
Ecosystem &Integrations
Project Lead &Architect
![Page 3: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/3.jpg)
appium introduction
![Page 4: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/4.jpg)
“Mobile is taking over the world.” So how do we scale mobile quality?
![Page 5: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/5.jpg)
Testing and QA are important but painful. We want more code, less tap!
![Page 6: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/6.jpg)
Risk grows with complexity. Small changes can have huge unintended consequences
![Page 7: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/7.jpg)
Automated testing is the solution for a fast dev cycle that maintains high quality
![Page 8: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/8.jpg)
Continuous Integration is awesome: automated testing + automated deployment
![Page 9: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/9.jpg)
The Dev Cycle ofOptimal Happiness[ ]
![Page 10: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/10.jpg)
appium is the cross-platform solution for native and hybrid mobile automation
![Page 11: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/11.jpg)
appium makes automated testing possible for mobile, setting the stage for real CI
![Page 12: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/12.jpg)
appium raison d’être
![Page 13: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/13.jpg)
iOS Android
calabash-iosFrankUIAutomationios-driverKeepItFunctional
calabash-androidMonkeyTalkRobotiumUiAutomatorselendroid
![Page 14: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/14.jpg)
Rule 1Test the same app you submit to the marketplace
![Page 15: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/15.jpg)
Rule 2Write your tests in any language and any framework
![Page 16: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/16.jpg)
Rule 3Use a standard automation specification and API
![Page 17: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/17.jpg)
Rule 4Build a large and thriving open-source community
![Page 18: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/18.jpg)
Platform SupportReal devicesSimulatorsHybrid appsMobile webRobots?!
![Page 19: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/19.jpg)
Demo
![Page 20: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/20.jpg)
![Page 21: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/21.jpg)
appium architecture
![Page 22: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/22.jpg)
appium is an HTTP server that creates and handles WebDriver sessions
![Page 23: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/23.jpg)
Selenium WebDriverhas been the standard for browser automation
![Page 24: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/24.jpg)
Selenium WebDriveris a HTTP APIPOST /sessionPOST /session/elementGET /session/element/:id/:attr
![Page 25: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/25.jpg)
Selenium WebDriverhas clients in every* language
![Page 26: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/26.jpg)
Selenium WebDriver is a W3C working draft*
![Page 27: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/27.jpg)
appium extends the WebDriver protocol with mobile-specific behaviors
![Page 28: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/28.jpg)
appium is working with the Selenium project so we can standardize these extensions
![Page 29: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/29.jpg)
Automation VoodooApple Instruments & UIAutomation for iOSGoogle UiAutomator for Android (4.2.1 up)Selendroid for older Android & hybridMarionette for FirefoxOS
![Page 30: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/30.jpg)
![Page 31: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/31.jpg)
![Page 32: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/32.jpg)
appium setup
![Page 33: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/33.jpg)
RequirementsBasically the same as dev toolkits for iOS, AndroidXcode + iOS SDKAndroid SDK + Java
![Page 34: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/34.jpg)
Install: Option OneClone from GitHubREPO=”appium/appium.git”git clone https://github.com/$REPOcd appium && ./reset.shnode .
![Page 35: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/35.jpg)
Install: Option TwoInstall from NPMnpm install -g appiumappium
![Page 36: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/36.jpg)
Install: Option ThreeDownload the GUI app# github.com/appium/appium/releasesopen /Applications/Appium.app
![Page 37: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/37.jpg)
![Page 38: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/38.jpg)
![Page 39: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/39.jpg)
![Page 40: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/40.jpg)
![Page 41: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/41.jpg)
appium test model
![Page 42: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/42.jpg)
Start/stop a session
![Page 43: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/43.jpg)
Find elements
![Page 44: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/44.jpg)
Interact with elements
![Page 45: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/45.jpg)
![Page 46: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/46.jpg)
![Page 47: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/47.jpg)
![Page 48: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/48.jpg)
appium scale
![Page 49: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/49.jpg)
appium is great for local test development, but has limitations when scaling up for use in CI
![Page 50: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/50.jpg)
Sauce Labs is great for scale when you need to run a lot of appium tests in your build
![Page 51: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/51.jpg)
Run tests on Sauce
![Page 52: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/52.jpg)
saucelabs.com/mobileFREE FOR OPEN SOURCE
![Page 53: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/53.jpg)
appium is also compatible with Selenium Grid which helps with your own closet cloud
![Page 54: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/54.jpg)
appium real devices
![Page 55: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/55.jpg)
![Page 56: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/56.jpg)
![Page 57: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/57.jpg)
![Page 58: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/58.jpg)
appium mobile web
![Page 59: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/59.jpg)
![Page 60: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/60.jpg)
appium robots
![Page 61: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/61.jpg)
![Page 62: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/62.jpg)
appium hackers
![Page 63: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/63.jpg)
We need you...Node.js devs (for Appium server)Obj-c devs (for Appium.app)C#.Net devs (for Appium.exe)Java devs (for Appium’s Android bootstrap)Windows Phone devs (we need to support it!)Hardware hackers (for robot support)
![Page 64: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/64.jpg)
Questions?
http://appium.iohttps://github.com/appium/appium
@AppiumDevs • @jlipps • @saucelabs
![Page 65: Jonathan Lipps Appium Mobile Automation Made Awesome](https://reader034.vdocuments.mx/reader034/viewer/2022042608/55cf9155550346f57b8cb6f1/html5/thumbnails/65.jpg)
Thanks!
http://appium.iohttps://github.com/appium/appium
@AppiumDevs • @jlipps • @saucelabs