Automation with Appium Native iPhone App Test · AGENDA Overview of current Native Automation...

13
Native iPhone App Test Automation with Appium by James Eisenhauer of @hubbubhealth

Transcript of Automation with Appium Native iPhone App Test · AGENDA Overview of current Native Automation...

Native iPhone App Test Automation with Appiumby James Eisenhauer of @hubbubhealth

ABOUT ME

James "Jim" EisenhauerChief Quality Scientist, hubbub Health

● First program written on a TRS-80 in 1978 when I was 12● Computer Science dropout with a bachelor's degree in Psychology● Java Certified & ColdFusion 5.0 Certified...yes I said ColdFusion● Alphabet Soup - MBA, PMP, ITIL, SSGB● Graduate Certificate in Software Engineering from OGI● Army Vet-Airborne Ranger V Corps Long Range Reconnaissance and Patrol● Latest Hobby is Whisky! http://jimmyswhisky.github.com/

AGENDA

● Overview of current Native Automation Framework Scene

● Intro to Appium● Why I like Appium● Automating a test with Appium & Selenium

FRAMEWORKS● Hard to keep up with what is

going on.● Apple keeps breaking

frameworks● No clear leader or best

solution● Calabash seems to be gaining

popularity

FRAMEWORKS

Generally 2 schools of thought

Embedded HTTP server Integrate with Apple Instruments

iphone iphone

HTTP SERVER

APP

APPApple Instruments

Test Framework

Test Framework

Integrates with Apple Instruments

iphone

APPApple Instruments

Appium

Utilizes the Webdriver JSON wire protocol

iphone

APPApple Instruments

Appium

Webdriver

● Open Source Project - http://www.appium.io● Sponsored by Sauce Labs and led by Jason Huggins - @hugs● Written in Node.js● Very active with multiple commits per day

WHY I LIKE APPIUM

● Uses Apple layer as integration○ forces learning apple way

■ useful if apple breaks your framework○ less likely apple will break your framework

● Uses Webdriver ○ integrates well with my web automation

framework○ nothing new to learn

● Led by Proven leader of open source projects○ this guy created Selenium so there is that..

● Has commercial backing & resources○ always nice to have paid resources on open source

projects

AUTOMATING WITH APPIUM

* Sample code above in java for you slow people. Demo will be in Ruby

DEMO

● Install● Write a test● Run a test

Demo & CI Tips

View app elements

Reset app state (I think this was implemented in Appium this week)

#uninstall app from simulatorcd '/Users/qauser/Library/Application Support/iPhone Simulator/6.1/Applications/' rm -rf *

Command Line build appxcodebuild -sdk iphonesimulator6.1 -configuration Debug clean build

Close simulatorosascript -e 'tell app "iPhone Simulator" to quit'

THANK YOU!!!!!

Questions?