Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Native iphone app test automation with appium
1. Native iPhone App Test
Automation with Appium
by James Eisenhauer of @hubbubhealth
2. ABOUT ME
James "Jim" Eisenhauer
Chief 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/
3. AGENDA
● Overview of current Native Automation
Framework Scene
● Intro to Appium
● Why I like Appium
● Automating a test with Appium & Selenium
4. 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
5. FRAMEWORKS
Generally 2 schools of thought
Embedded HTTP server Integrate with Apple Instruments
iphone iphone
Test Framework
HTTP SERVER Test Framework
Apple Instruments APP
APP
8. ● 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
9. 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
10. AUTOMATING WITH APPIUM
* Sample code above in java for you slow people. Demo will be in Ruby
12. Demo & CI Tips
View app elements
Reset app state (I think this was implemented in Appium this week)
#uninstall app from simulator
cd '/Users/qauser/Library/Application Support/iPhone Simulator/6.1/Applications/'
rm -rf *
Command Line build app
xcodebuild -sdk iphonesimulator6.1 -configuration Debug clean build
Close simulator
osascript -e 'tell app "iPhone Simulator" to quit'