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

mobile automation made awesome
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

mobile automation made awesome

Jonathan Lipps • Sr Developer • Sauce Labs

@AppiumDevs • @jlipps • @saucelabs

App Developers Conference • Los Angeles, CA Nov 6 2013

slide-2
SLIDE 2

Jonathan Lipps • Sr Developer • Sauce Labs

@AppiumDevs • @jlipps • @saucelabs

http://mobro.co/jlipps

Ecosystem & Integrations Project Lead & Architect

slide-3
SLIDE 3

appium introduction

slide-4
SLIDE 4

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

slide-5
SLIDE 5

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

slide-6
SLIDE 6

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

slide-7
SLIDE 7

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

slide-8
SLIDE 8

Continuous Integration is awesome: automated testing + automated deployment

slide-9
SLIDE 9

The Dev Cycle of Optimal Happiness

[ ]

slide-10
SLIDE 10

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

slide-11
SLIDE 11

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

slide-12
SLIDE 12

appium raison d’être

slide-13
SLIDE 13

iOS Android

calabash-ios Frank UIAutomation ios-driver KeepItFunctional calabash-android MonkeyTalk Robotium UiAutomator selendroid

slide-14
SLIDE 14

Rule 1 Test the same app you submit to the marketplace

slide-15
SLIDE 15

Rule 2 Write your tests in any language and any framework

slide-16
SLIDE 16

Rule 3 Use a standard automation specification and API

slide-17
SLIDE 17

Rule 4 Build a large and thriving

  • pen-source community
slide-18
SLIDE 18

Platform Support

Real devices Simulators Hybrid apps Mobile web Robots?!

slide-19
SLIDE 19

Demo

slide-20
SLIDE 20
slide-21
SLIDE 21

appium architecture

slide-22
SLIDE 22

appium is an HTTP server that creates and handles WebDriver sessions

slide-23
SLIDE 23

Selenium WebDriver has been the standard for browser automation

slide-24
SLIDE 24

Selenium WebDriver is a HTTP API

POST /session POST /session/element GET /session/element/:id/:attr

slide-25
SLIDE 25

Selenium WebDriver has clients in every* language

slide-26
SLIDE 26

Selenium WebDriver is a W3C working draft*

slide-27
SLIDE 27

appium extends the WebDriver protocol with mobile-specific behaviors

slide-28
SLIDE 28

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

slide-29
SLIDE 29

Automation Voodoo

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

slide-30
SLIDE 30
slide-31
SLIDE 31
slide-32
SLIDE 32

appium setup

slide-33
SLIDE 33

Requirements Basically the same as dev toolkits for iOS, Android

Xcode + iOS SDK Android SDK + Java

slide-34
SLIDE 34

Install: Option One Clone from GitHub

REPO=”appium/appium.git” git clone https://github.com/$REPO cd appium && ./reset.sh node .

slide-35
SLIDE 35

Install: Option Two Install from NPM

npm install -g appium appium

slide-36
SLIDE 36

Install: Option Three Download the GUI app

# github.com/appium/appium/releases

  • pen /Applications/Appium.app
slide-37
SLIDE 37
slide-38
SLIDE 38
slide-39
SLIDE 39
slide-40
SLIDE 40
slide-41
SLIDE 41

appium test model

slide-42
SLIDE 42

Start/stop a session

slide-43
SLIDE 43

Find elements

slide-44
SLIDE 44

Interact with elements

slide-45
SLIDE 45
slide-46
SLIDE 46
slide-47
SLIDE 47
slide-48
SLIDE 48

appium scale

slide-49
SLIDE 49

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

slide-50
SLIDE 50

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

slide-51
SLIDE 51

Run tests on Sauce

slide-52
SLIDE 52

saucelabs.com/mobile

FREE FOR OPEN SOURCE

slide-53
SLIDE 53

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

slide-54
SLIDE 54

appium real devices

slide-55
SLIDE 55
slide-56
SLIDE 56
slide-57
SLIDE 57
slide-58
SLIDE 58

appium mobile web

slide-59
SLIDE 59
slide-60
SLIDE 60

appium robots

slide-61
SLIDE 61
slide-62
SLIDE 62

appium hackers

slide-63
SLIDE 63

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)

slide-64
SLIDE 64

Questions?

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

slide-65
SLIDE 65

Thanks!

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