mobile automation made awesome
play

mobile automation made awesome App Developers Conference Los - PowerPoint PPT Presentation

mobile automation made awesome App Developers Conference Los Angeles, CA Nov 6 2013 Jonathan Lipps Sr Developer Sauce Labs @AppiumDevs @jlipps @saucelabs Ecosystem & Integrations Project Lead & Architect


  1. mobile automation made awesome App Developers Conference • Los Angeles, CA Nov 6 2013 Jonathan Lipps • Sr Developer • Sauce Labs @AppiumDevs • @jlipps • @saucelabs

  2. Ecosystem & Integrations Project Lead & Architect http://mobro.co/jlipps Jonathan Lipps • Sr Developer • Sauce Labs @AppiumDevs • @jlipps • @saucelabs

  3. appium introduction

  4. “Mobile is taking over the world.” So how do we scale mobile quality ?

  5. Testing and QA are important but painful . We want more code, less tap!

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

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

  8. Continuous Integration is awesome: automated testing + automated deployment

  9. [ ] The Dev Cycle of Optimal Happiness

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

  11. appium makes automated testing possible for mobile, setting the stage for real CI

  12. appium raison d’être

  13. iOS Android calabash-ios calabash-android Frank MonkeyTalk UIAutomation Robotium ios-driver UiAutomator KeepItFunctional selendroid

  14. Rule 1 Test the same app you submit to the marketplace

  15. Rule 2 Write your tests in any language and any framework

  16. Rule 3 Use a standard automation specification and API

  17. Rule 4 Build a large and thriving open-source community

  18. Platform Support Real devices Simulators Hybrid apps Mobile web Robots?!

  19. Demo

  20. appium architecture

  21. appium is an HTTP server that creates and handles WebDriver sessions

  22. Selenium WebDriver has been the standard for browser automation

  23. Selenium WebDriver is a HTTP API POST /session POST /session/element GET /session/element/:id/:attr

  24. Selenium WebDriver has clients in every* language

  25. Selenium WebDriver is a W3C working draft*

  26. appium extends the WebDriver protocol with mobile-specific behaviors

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

  28. Automation Voodoo Apple Instruments & UIAutomation for iOS Google UiAutomator for Android (4.2.1 up) Selendroid for older Android & hybrid Marionette for FirefoxOS

  29. appium setup

  30. Requirements Basically the same as dev toolkits for iOS, Android Xcode + iOS SDK Android SDK + Java

  31. Install: Option One Clone from GitHub REPO=”appium/appium.git” git clone https://github.com/$REPO cd appium && ./reset.sh node .

  32. Install: Option Two Install from NPM npm install -g appium appium

  33. Install: Option Three Download the GUI app # github.com/appium/appium/releases open /Applications/Appium.app

  34. appium test model

  35. Start/stop a session

  36. Find elements

  37. Interact with elements

  38. appium scale

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

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

  41. Run tests on Sauce

  42. saucelabs.com/mobile FREE FOR OPEN SOURCE

  43. appium is also compatible with Selenium Grid which helps with your own closet cloud

  44. appium real devices

  45. appium mobile web

  46. appium robots

  47. appium hackers

  48. 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)

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

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

Recommend


More recommend