SlideShare a Scribd company logo
Native iPhone App Test
Automation with Appium
by James Eisenhauer of @hubbubhealth
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/
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
                                         Test Framework



  HTTP SERVER          Test Framework
                                        Apple Instruments             APP


     APP
Integrates with Apple Instruments

                        iphone
        Appium




    Apple Instruments    APP
Utilizes the Webdriver JSON wire protocol


            Webdriver



                             iphone
             Appium




         Apple Instruments    APP
●   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 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'
THANK YOU!!!!!


Questions?

More Related Content

What's hot (20)

PPTX
How to Get Started with Cypress
Applitools
 
PPTX
Your API is not a Website!
Apigee | Google Cloud
 
PDF
Андрей Солдатенко. Разработка высокопроизводительныx функциональных тестов д...
Alina Dolgikh
 
PDF
Automation Best Practices
Sauce Labs
 
PDF
SeleniumCamp 2015 Andrii Soldatenko
Andrii Soldatenko
 
PDF
PyCon Ukraine 2014
Andrii Soldatenko
 
PDF
The what, why and how of web analytics testing
Anand Bagmar
 
PPTX
Advanced Appium
Dan Cuellar
 
PPTX
Colorful world-of-visual-automation-testing-latest
Onur Baskirt
 
PPTX
10x Test Coverage, Less Drama: Shift Left Functional & Performance Testing
Sauce Labs
 
PPTX
Cypress workshop for JSFoo 2019
Biswajit Pattanayak
 
PDF
Selenium Conference 2015 - Mobile Selenium Grid Setup
Justin Ison
 
PDF
Scaling your Automated Tests: Docker and Kubernetes
Manoj Kumar Kumar
 
PDF
Getting started with Appium 2.0
Anand Bagmar
 
PPTX
Mobile Automation Using Appium - vodQA Bangalore 2015
Thoughtworks
 
PDF
SauceCon 2017: Testing @ the Speed of Concurrency
Sauce Labs
 
PDF
Speed up your Titanium app development with automated tests - TiConf EU 2014
Emanuele Rampichini
 
PPTX
Story Testing Approach for Enterprise Applications using Selenium Framework
Oleksiy Rezchykov
 
PDF
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Applitools
 
PPTX
Appium vs Appium with Perfecto
Lizzy Guido (she/her)
 
How to Get Started with Cypress
Applitools
 
Your API is not a Website!
Apigee | Google Cloud
 
Андрей Солдатенко. Разработка высокопроизводительныx функциональных тестов д...
Alina Dolgikh
 
Automation Best Practices
Sauce Labs
 
SeleniumCamp 2015 Andrii Soldatenko
Andrii Soldatenko
 
PyCon Ukraine 2014
Andrii Soldatenko
 
The what, why and how of web analytics testing
Anand Bagmar
 
Advanced Appium
Dan Cuellar
 
Colorful world-of-visual-automation-testing-latest
Onur Baskirt
 
10x Test Coverage, Less Drama: Shift Left Functional & Performance Testing
Sauce Labs
 
Cypress workshop for JSFoo 2019
Biswajit Pattanayak
 
Selenium Conference 2015 - Mobile Selenium Grid Setup
Justin Ison
 
Scaling your Automated Tests: Docker and Kubernetes
Manoj Kumar Kumar
 
Getting started with Appium 2.0
Anand Bagmar
 
Mobile Automation Using Appium - vodQA Bangalore 2015
Thoughtworks
 
SauceCon 2017: Testing @ the Speed of Concurrency
Sauce Labs
 
Speed up your Titanium app development with automated tests - TiConf EU 2014
Emanuele Rampichini
 
Story Testing Approach for Enterprise Applications using Selenium Framework
Oleksiy Rezchykov
 
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Applitools
 
Appium vs Appium with Perfecto
Lizzy Guido (she/her)
 

Viewers also liked (9)

PPTX
Jenkins Plugin Development With Gradle And Groovy
Daniel Spilker
 
PPTX
Using PaaS for Continuous Delivery (Cloud Foundry Summit 2014)
VMware Tanzu
 
PDF
JCConf2016 Jenkins Pipeline
Ching Yi Chan
 
PDF
Continuous Development Pipeline
Izzet Mustafaiev
 
PPTX
Jenkins days workshop pipelines - Eric Long
ericlongtx
 
PPTX
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
Brian Dawson
 
PPTX
Delivery Pipeline as Code: using Jenkins 2.0 Pipeline
Slawa Giterman
 
PDF
Jenkins Pipelines
Steffen Gebert
 
PDF
(Declarative) Jenkins Pipelines
Steffen Gebert
 
Jenkins Plugin Development With Gradle And Groovy
Daniel Spilker
 
Using PaaS for Continuous Delivery (Cloud Foundry Summit 2014)
VMware Tanzu
 
JCConf2016 Jenkins Pipeline
Ching Yi Chan
 
Continuous Development Pipeline
Izzet Mustafaiev
 
Jenkins days workshop pipelines - Eric Long
ericlongtx
 
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
Brian Dawson
 
Delivery Pipeline as Code: using Jenkins 2.0 Pipeline
Slawa Giterman
 
Jenkins Pipelines
Steffen Gebert
 
(Declarative) Jenkins Pipelines
Steffen Gebert
 
Ad

Similar to Native iphone app test automation with appium (20)

PPTX
Appium overview (Selenium Israel #2, Feb. 2014)
danielputerman
 
PPT
Using Selenium to Test Native Apps (Wait, you can do that?)
Sauce Labs
 
PDF
Appium workship, Mobile Web+Dev Conference
Isaac Murchie
 
PDF
Appium mobile web+dev conference
Isaac Murchie
 
PPTX
Selenium introduction
Pankaj Dubey
 
PDF
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
Sauce Labs
 
PDF
MenloHacks Workshop 2019
Bruce Lin
 
PPTX
Mobile Automation with Appium
Manoj Kumar Kumar
 
PDF
Designing an effective hybrid apps automation framework
Andrea Tino
 
PPT
The Future of Selenium Testing for Mobile Web and Native Apps
Sauce Labs
 
ODP
iOS Developers Conference-iOS Automation with Cucumber, Appium and Saucelabs
Shashikant Jagtap
 
PPT
BCS Selenium Workshop
Colin McDonald
 
PDF
Use Jenkins For Continuous Load Testing And Mobile Test Automation
Clever Moe
 
PDF
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
Clever Moe
 
PDF
Spring Boot
Jaran Flaath
 
PPTX
Tales from the Dark Side: Ori Bendet Selenium Conference India 2016
Ori Bendet
 
PDF
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
Srijan Technologies
 
PPTX
Presentation on Introduction to Selenium
hafizrizwanumar10
 
PPTX
Appium solution
Nael Abd Eljawad
 
PDF
Google App Engine for Java
Lars Vogel
 
Appium overview (Selenium Israel #2, Feb. 2014)
danielputerman
 
Using Selenium to Test Native Apps (Wait, you can do that?)
Sauce Labs
 
Appium workship, Mobile Web+Dev Conference
Isaac Murchie
 
Appium mobile web+dev conference
Isaac Murchie
 
Selenium introduction
Pankaj Dubey
 
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
Sauce Labs
 
MenloHacks Workshop 2019
Bruce Lin
 
Mobile Automation with Appium
Manoj Kumar Kumar
 
Designing an effective hybrid apps automation framework
Andrea Tino
 
The Future of Selenium Testing for Mobile Web and Native Apps
Sauce Labs
 
iOS Developers Conference-iOS Automation with Cucumber, Appium and Saucelabs
Shashikant Jagtap
 
BCS Selenium Workshop
Colin McDonald
 
Use Jenkins For Continuous Load Testing And Mobile Test Automation
Clever Moe
 
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
Clever Moe
 
Spring Boot
Jaran Flaath
 
Tales from the Dark Side: Ori Bendet Selenium Conference India 2016
Ori Bendet
 
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
Srijan Technologies
 
Presentation on Introduction to Selenium
hafizrizwanumar10
 
Appium solution
Nael Abd Eljawad
 
Google App Engine for Java
Lars Vogel
 
Ad

Recently uploaded (20)

PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
PDF
July Patch Tuesday
Ivanti
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
July Patch Tuesday
Ivanti
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 

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
  • 6. Integrates with Apple Instruments iphone Appium Apple Instruments APP
  • 7. Utilizes the Webdriver JSON wire protocol Webdriver iphone Appium Apple Instruments 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
  • 11. DEMO ● Install ● Write a test ● Run a test
  • 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'