SlideShare a Scribd company logo
12 May 2015
Ville-Veikko Helppi
Technical Product Manager
ville-veikko.helppi@bitbar.com
Parallel Test Runs with
Appium on Real Mobile
Devices
W E B I N A R
Agenda
• Testdroid Update
• Statistics from Q1'2015
• Testing and Mobile Test Automation
• Appium – Client vs. Server Side
Execution
• Demonstration
• Q&A
TESTDROID UPDATE
Public Device Cloud
on-demand devices
(multitenant)
Mobile app testing
on thousands of real
Android and iOS
devices hosted by
Bitbar
Private Device Cloud
Reserved Devices
Hosted by Bitbar in
the US and/or Europe
Devices chosen by
and reserved only for
the Customer
On-Premise
Device Cloud
Automated mobile
app testing devices
hosted by the
customer, usually
30-500 devices
1 Product – 3 Deployment Options
Testdroid Cloud Testdroid Enterprise Testdroid PrivateCloud
New Pricing Plans for Cloud
*) = Prices for annual commitment
Appium
• Client-Side Execution
• Server-Side Execution
Q1'2015 STATISTICS
Q1'2015 – Test Run Stats
Why Apps Fail?
iOS 8.0
iOS 8.0.2
iOS 8.1
iOS 8.1.1
iOS 8.2
iOS 8 ALL
KitKat 4.4
KitKat 4.4.2
KitKat 4.4.3
KitKat 4.4.4
KitKat ALL
Lollipop 5.0
Lollipop 5.0.1
Lollipop 5.0.2
Lollipop ALL
0 5 10 15 20 25 30 35
Failed test runs. Percentage (%).
Some Observations
1
2
Some Observations
3
4
Some Observations
5
6
Android Fragmentation 2014
by Open Signal report July 2014
How Many Devices is Enough?
~90%
market coverage can
be achieved with
128
devices
~20%
market coverage can
be achieved with
12
devices
US Market
25 Android devices
= ~2/3 market
Global Market
60 Android devices
= ~1/2 market
TESTING AND MOBILE TEST AUTOMATION
OS
versions
Chipsets
CPU +
GPU
Tens of
OEMs
Memory
Displays
(resolutions,
physical hw)
OEM
mods
Other
hardware
(connectivity
calibration)
Relation
to other
software
Where Test Automation Can Help
Correct behaviour
across platforms and
browsers
Integration with web
back-ends
Typically need
to fully utilize
HW
(CPU+GPU)
Resource (e.g.
battery)
consumption
OpenGL ES 2/3
Functionality
and usability
Screen
orientations,
connectivity,
user profiles
Robustness
Robustness and
security!
Brand
Compliances,
verification with back-
ends and data
Different Mobile 'App Verticals'
Manual Testing is not Agile
Test Automation is Agile
Why Real Devices Are Must-to-Have
• Emulators cannot help you to test...
• User Experience
• Usability
• Hardware
• Software
• Infrastructure
0 % = the percentage of your app users
that use emulator to run your app!
Manual vs. Automation
Manual Automation
Manual vs. Automation
Smaller coverage, More
money burnt & time
wasted, Error-prone
Manual Automation
Large
coverage,
quickly
completed,
Less money &
time wasted,
Exact results.
APPIUM
– CLIENT VS. SERVER SIDE EXECUTION
Family Tree of Android Test
Automation Frameworks
JUnit
Android Instrumentation Framework
Robotium
Espresso and
Espresso v2
uiautomator
Appium
ExtSolo
Calabash
What Framework Works You The Best?
Robotium uiautomator Espresso Appium Calabash
Android Yes Yes Yes Yes Yes
iOS No No No Yes Yes
Mobile web Yes
(Android)
Limited to x.y
clicks
No Yes
(Android &
iOS)
Yes
(Android)
Scripting
Language
Java Java Java Almost any Ruby
Test creation
tools
Testdroid
Recorder
UI Automator
viewer
Hierarchy
Viewer
Appium.app CLI
Supported
API levels
All 16 => 8, 10, 15- All All
Community Contributors Google Google Active Pretty quiet
Selenium & Appium
Client Side Appium at
Testdroid CloudTest Script
Test Case
Desired
Capabilities
{
“device”: “Android”,
“app”: “/Users/user/ApiDemos.apk”
“app-package”: “com.example.android.apis”
“app-activity”: “.ApiDemos”
}
Test Script
Test Case
Desired
Capabilities
WebDriver
http://localhost:4723/wd/hub
Appium Server
4723
Device
Localhost
(DesiredCaps)
http://localhost:4723/wd/hub
*Testdroid Caps
http://appium.testdroid.com/wd/hub
(DesiredCaps)
Test Script
Test Case
Desired
Capabilities
WebDriver
From Localhost to Testdroid
Client Side Execution
Go to
cloud.testdroid.com
Client Side Execution
Get a
Device Name
Go to
cloud.testdroid.com
Client Side Execution
Add Testdroid Desired
Caps to test script
{
“testdroid_username”: “user@domain.com”,
“testdroid_password”: “p4s$w0rd”,
“testdroid_project”: “My First Project”,
“testdroid_testrun”: “Test 1”,
“testdroid_device”: “iPad Mini 7.0.4 A1432”,
“testdroid_app”: “http://domain.com/app_v1.ipa”
.
.
“app”: “com.bitbar.testdroid.BitbarIOSSample”
}
Get a
Device Name
Go to
cloud.testdroid.com
Client Side Execution
driver = webdriver.Remote("http://appium.testdroid.com/wd/hub", desired_caps);
Point the Webdriver to
http://appium.testdroid.com/wd/hub
Add Testdroid Desired
Caps to test script
Get a
Device Name
Go to
cloud.testdroid.com
Client Side Execution
Run the Test ScriptGet Results from
Testdroid Cloud
Point the Webdriver to
http://appium.testdroid.com/wd/hub
Add Testdroid Desired
Caps to test script
Get a
Device Name
Go to
cloud.testdroid.com
Client Side Execution
Pull the Results from
the Result URL
driver = webdriver.Remote("http://appium.testdroid.com/wd/hub", desired_caps);
Run the Test ScriptGet Results from
Testdroid Cloud
Point the Webdriver to
http://appium.testdroid.com/wd/hub
Add Testdroid Desired
Caps to test script
Get a
Device Name
Go to
cloud.testdroid.com
Multiple Devices – Client Side
python testscript.py –device <devicename>1
python testscript.py –device <devicename>2
python testscript.py –device <devicename>n
Test Script
Test Cases
Instigator Script
deviceArray=
[
“iPad 4 6.0.1 A1458”,
“iPad mini 7.0.4 A1432”,
.
.
.
“iPhone 4S 6.1.3 A1387”,
]
21
3
4
5
6
7
WebDriver Session Request
@http://appium.testdroid.com/wd/hub
WebDriver Session Response
Testrun
Configure Project
Appium Ready
Wait for Device to
Become Available
Device 1 Device 2 Device 3
Session
Map
Proxy
Device Cluster
Start Appium
Desired Capabilities, .apk / .ipa
SessionID
SessionID
Sessionid
Test
Script
Appium
Broker
Client Side – Behind the Scenes
Introducing "Server Side Appium"
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
Demonstration
Appium with Real Devices using Image
Recognition for Hill Climb Racing
Setup
• Using real Android devices at Testdroid Cloud
• Parallel test runs without a need to configure desired
capabilities
• Device groups (= set of devices used for runs) can be
manually created and configured
File Structure
• pom.xml (maven)
• testdroid.properties (overwritten after submitted to Cloud)
• run-test.sh (shell script for execution)
• image files
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
15 seconds
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
Image Recognition
• Resolution agnostic implementation
• Identifies stretched and rotated images as well
Let's See How it Works!
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
THANK YOU!
More information about frameworks, devices
and testing at www.testdroid.com

More Related Content

PPTX
Appium solution
PPT
PPTX
Automation Testing With Appium
PPTX
Appium overview
PPTX
Appium Presentation
PDF
What is Appium? Edureka
PDF
Appium: Automation for Mobile Apps
PDF
Getting started with appium
Appium solution
Automation Testing With Appium
Appium overview
Appium Presentation
What is Appium? Edureka
Appium: Automation for Mobile Apps
Getting started with appium

What's hot (20)

PDF
Unit Testing vs Integration Testing
PDF
Introduction To Mobile-Automation
PDF
Mobile Test Automation - Appium
PPTX
Introduction to Agile Testing
PDF
Test Automation Strategy
PDF
Installing WordPress on AWS
PPT
Android & iOS Automation Using Appium
PPTX
Appium ppt
PPT
Automation With A Tool Demo
PDF
How to successfully grow a code review culture
PPSX
Yazilim Projelerinde Test Sureci
PDF
Appium basics
PPTX
Mobile Automation with Appium
PPTX
Telerik Test studio
PDF
Automation testing real time interview question.pdf
PPTX
Uft Basics
PPTX
QA. Load Testing
ODP
Introduction to Swagger
PPTX
Automation using Appium
PPTX
Power vc for powervm deep dive tips &amp; tricks
Unit Testing vs Integration Testing
Introduction To Mobile-Automation
Mobile Test Automation - Appium
Introduction to Agile Testing
Test Automation Strategy
Installing WordPress on AWS
Android & iOS Automation Using Appium
Appium ppt
Automation With A Tool Demo
How to successfully grow a code review culture
Yazilim Projelerinde Test Sureci
Appium basics
Mobile Automation with Appium
Telerik Test studio
Automation testing real time interview question.pdf
Uft Basics
QA. Load Testing
Introduction to Swagger
Automation using Appium
Power vc for powervm deep dive tips &amp; tricks
Ad

Similar to Parallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar (20)

PDF
LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)
PPTX
How to Leverage Appium in Your Mobile App Testing
PPTX
Testdroid: Release Perfect Apps with Mobile Visual Testing in the Cloud
PDF
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
PPTX
Testing Your Android and iOS Apps with Appium in Testdroid Cloud
PDF
How to Test Android and iOS Mobile Apps with Appium.pdf
PDF
Appium Automation Testing Tutorial PDF: Learn Mobile Testing in 7 Days
PDF
A Step-by-Step Guide to Test Automation with Appium.pdf
PDF
A Comprehensive Guide to Cross-Platform Mobile Test Automation Using Appium.pdf
PDF
Appium Mobile Test Automation like WebDriver
PDF
Automating Mobile Web Browsers with Appium.pdf
PDF
A. Sirota "Building an Automation Solution based on Appium"
PPTX
Appium - test automation for mobile apps
PDF
The Present and Future of Mobile Test Automation with Appium
PDF
How Does Appium Facilitate Mobile App Testing Across Multiple Operating Syste...
PPTX
Next level of Appium
PDF
Тестирование мобильных приложений используя облачные сервисы. TestDroid, Test...
PPTX
appiumpresent-211128171811.pptx projet de presentation
PPT
PPTX
Mobile automation testing with selenium and appium
LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)
How to Leverage Appium in Your Mobile App Testing
Testdroid: Release Perfect Apps with Mobile Visual Testing in the Cloud
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
Testing Your Android and iOS Apps with Appium in Testdroid Cloud
How to Test Android and iOS Mobile Apps with Appium.pdf
Appium Automation Testing Tutorial PDF: Learn Mobile Testing in 7 Days
A Step-by-Step Guide to Test Automation with Appium.pdf
A Comprehensive Guide to Cross-Platform Mobile Test Automation Using Appium.pdf
Appium Mobile Test Automation like WebDriver
Automating Mobile Web Browsers with Appium.pdf
A. Sirota "Building an Automation Solution based on Appium"
Appium - test automation for mobile apps
The Present and Future of Mobile Test Automation with Appium
How Does Appium Facilitate Mobile App Testing Across Multiple Operating Syste...
Next level of Appium
Тестирование мобильных приложений используя облачные сервисы. TestDroid, Test...
appiumpresent-211128171811.pptx projet de presentation
Mobile automation testing with selenium and appium
Ad

More from Bitbar (19)

PPTX
The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...
PPTX
Mobile performance metrics and performance monitoring meetup 2017 05 10
PDF
Exercising and Scaling Up Mobile DevOps in the Enterprise
PPTX
Getting Started with XCTest and XCUITest for iOS App Testing
PPTX
Hassle-Free Continuous Integration with Real Device Testing
PPTX
Best Practices for DevOps in Mobile App Testing
PPTX
Ensure Your Mobile Channels Generate Revenue on Holiday Peak Days
PPTX
How to Reliably Measure and Optimize Graphics Performance of Your Android Games
PPTX
The Powerful and Comprehensive API for Mobile App Development and Testing
PDF
Which One Works You The Best: In-House or Cloud-Based Development Environment
PPTX
Best Practices in Mobile Game Testing
PPTX
Build a Large Scale In-House Test Lab for Mobile Apps
PDF
The Status of Android Hardware and Software - From App Developer's Point of View
PPTX
Do You Enjoy Espresso in Android App Testing?
PPTX
How to Test Security and Vulnerability of Your Android and iOS Apps
PPTX
Different Android Test Automation Frameworks - What Works You the Best?
PPTX
Maximize the Benefits from Your Test Automation Investment
PDF
Fight back android fragmentation
PPTX
Android testing
The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...
Mobile performance metrics and performance monitoring meetup 2017 05 10
Exercising and Scaling Up Mobile DevOps in the Enterprise
Getting Started with XCTest and XCUITest for iOS App Testing
Hassle-Free Continuous Integration with Real Device Testing
Best Practices for DevOps in Mobile App Testing
Ensure Your Mobile Channels Generate Revenue on Holiday Peak Days
How to Reliably Measure and Optimize Graphics Performance of Your Android Games
The Powerful and Comprehensive API for Mobile App Development and Testing
Which One Works You The Best: In-House or Cloud-Based Development Environment
Best Practices in Mobile Game Testing
Build a Large Scale In-House Test Lab for Mobile Apps
The Status of Android Hardware and Software - From App Developer's Point of View
Do You Enjoy Espresso in Android App Testing?
How to Test Security and Vulnerability of Your Android and iOS Apps
Different Android Test Automation Frameworks - What Works You the Best?
Maximize the Benefits from Your Test Automation Investment
Fight back android fragmentation
Android testing

Recently uploaded (20)

PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Encapsulation theory and applications.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Big Data Technologies - Introduction.pptx
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPT
Teaching material agriculture food technology
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Unlocking AI with Model Context Protocol (MCP)
Dropbox Q2 2025 Financial Results & Investor Presentation
Advanced methodologies resolving dimensionality complications for autism neur...
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Encapsulation theory and applications.pdf
NewMind AI Monthly Chronicles - July 2025
The AUB Centre for AI in Media Proposal.docx
Per capita expenditure prediction using model stacking based on satellite ima...
MYSQL Presentation for SQL database connectivity
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Reach Out and Touch Someone: Haptics and Empathic Computing
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Big Data Technologies - Introduction.pptx
20250228 LYD VKU AI Blended-Learning.pptx
Empathic Computing: Creating Shared Understanding
Understanding_Digital_Forensics_Presentation.pptx
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Teaching material agriculture food technology
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx

Parallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar

  • 1. 12 May 2015 Ville-Veikko Helppi Technical Product Manager ville-veikko.helppi@bitbar.com Parallel Test Runs with Appium on Real Mobile Devices W E B I N A R
  • 2. Agenda • Testdroid Update • Statistics from Q1'2015 • Testing and Mobile Test Automation • Appium – Client vs. Server Side Execution • Demonstration • Q&A
  • 4. Public Device Cloud on-demand devices (multitenant) Mobile app testing on thousands of real Android and iOS devices hosted by Bitbar Private Device Cloud Reserved Devices Hosted by Bitbar in the US and/or Europe Devices chosen by and reserved only for the Customer On-Premise Device Cloud Automated mobile app testing devices hosted by the customer, usually 30-500 devices 1 Product – 3 Deployment Options Testdroid Cloud Testdroid Enterprise Testdroid PrivateCloud
  • 5. New Pricing Plans for Cloud *) = Prices for annual commitment
  • 6. Appium • Client-Side Execution • Server-Side Execution
  • 8. Q1'2015 – Test Run Stats
  • 10. iOS 8.0 iOS 8.0.2 iOS 8.1 iOS 8.1.1 iOS 8.2 iOS 8 ALL KitKat 4.4 KitKat 4.4.2 KitKat 4.4.3 KitKat 4.4.4 KitKat ALL Lollipop 5.0 Lollipop 5.0.1 Lollipop 5.0.2 Lollipop ALL 0 5 10 15 20 25 30 35 Failed test runs. Percentage (%).
  • 14. Android Fragmentation 2014 by Open Signal report July 2014
  • 15. How Many Devices is Enough? ~90% market coverage can be achieved with 128 devices ~20% market coverage can be achieved with 12 devices US Market 25 Android devices = ~2/3 market Global Market 60 Android devices = ~1/2 market
  • 16. TESTING AND MOBILE TEST AUTOMATION
  • 17. OS versions Chipsets CPU + GPU Tens of OEMs Memory Displays (resolutions, physical hw) OEM mods Other hardware (connectivity calibration) Relation to other software Where Test Automation Can Help
  • 18. Correct behaviour across platforms and browsers Integration with web back-ends Typically need to fully utilize HW (CPU+GPU) Resource (e.g. battery) consumption OpenGL ES 2/3 Functionality and usability Screen orientations, connectivity, user profiles Robustness Robustness and security! Brand Compliances, verification with back- ends and data Different Mobile 'App Verticals'
  • 19. Manual Testing is not Agile
  • 21. Why Real Devices Are Must-to-Have • Emulators cannot help you to test... • User Experience • Usability • Hardware • Software • Infrastructure 0 % = the percentage of your app users that use emulator to run your app!
  • 23. Manual vs. Automation Smaller coverage, More money burnt & time wasted, Error-prone Manual Automation Large coverage, quickly completed, Less money & time wasted, Exact results.
  • 24. APPIUM – CLIENT VS. SERVER SIDE EXECUTION
  • 25. Family Tree of Android Test Automation Frameworks JUnit Android Instrumentation Framework Robotium Espresso and Espresso v2 uiautomator Appium ExtSolo Calabash
  • 26. What Framework Works You The Best? Robotium uiautomator Espresso Appium Calabash Android Yes Yes Yes Yes Yes iOS No No No Yes Yes Mobile web Yes (Android) Limited to x.y clicks No Yes (Android & iOS) Yes (Android) Scripting Language Java Java Java Almost any Ruby Test creation tools Testdroid Recorder UI Automator viewer Hierarchy Viewer Appium.app CLI Supported API levels All 16 => 8, 10, 15- All All Community Contributors Google Google Active Pretty quiet
  • 28. Client Side Appium at Testdroid CloudTest Script Test Case Desired Capabilities { “device”: “Android”, “app”: “/Users/user/ApiDemos.apk” “app-package”: “com.example.android.apis” “app-activity”: “.ApiDemos” }
  • 31. Client Side Execution Go to cloud.testdroid.com
  • 32. Client Side Execution Get a Device Name Go to cloud.testdroid.com
  • 33. Client Side Execution Add Testdroid Desired Caps to test script { “testdroid_username”: “user@domain.com”, “testdroid_password”: “p4s$w0rd”, “testdroid_project”: “My First Project”, “testdroid_testrun”: “Test 1”, “testdroid_device”: “iPad Mini 7.0.4 A1432”, “testdroid_app”: “http://domain.com/app_v1.ipa” . . “app”: “com.bitbar.testdroid.BitbarIOSSample” } Get a Device Name Go to cloud.testdroid.com
  • 34. Client Side Execution driver = webdriver.Remote("http://appium.testdroid.com/wd/hub", desired_caps); Point the Webdriver to http://appium.testdroid.com/wd/hub Add Testdroid Desired Caps to test script Get a Device Name Go to cloud.testdroid.com
  • 35. Client Side Execution Run the Test ScriptGet Results from Testdroid Cloud Point the Webdriver to http://appium.testdroid.com/wd/hub Add Testdroid Desired Caps to test script Get a Device Name Go to cloud.testdroid.com
  • 36. Client Side Execution Pull the Results from the Result URL driver = webdriver.Remote("http://appium.testdroid.com/wd/hub", desired_caps); Run the Test ScriptGet Results from Testdroid Cloud Point the Webdriver to http://appium.testdroid.com/wd/hub Add Testdroid Desired Caps to test script Get a Device Name Go to cloud.testdroid.com
  • 37. Multiple Devices – Client Side python testscript.py –device <devicename>1 python testscript.py –device <devicename>2 python testscript.py –device <devicename>n Test Script Test Cases Instigator Script deviceArray= [ “iPad 4 6.0.1 A1458”, “iPad mini 7.0.4 A1432”, . . . “iPhone 4S 6.1.3 A1387”, ]
  • 38. 21 3 4 5 6 7 WebDriver Session Request @http://appium.testdroid.com/wd/hub WebDriver Session Response Testrun Configure Project Appium Ready Wait for Device to Become Available Device 1 Device 2 Device 3 Session Map Proxy Device Cluster Start Appium Desired Capabilities, .apk / .ipa SessionID SessionID Sessionid Test Script Appium Broker Client Side – Behind the Scenes
  • 41. Demonstration Appium with Real Devices using Image Recognition for Hill Climb Racing
  • 42. Setup • Using real Android devices at Testdroid Cloud • Parallel test runs without a need to configure desired capabilities • Device groups (= set of devices used for runs) can be manually created and configured
  • 43. File Structure • pom.xml (maven) • testdroid.properties (overwritten after submitted to Cloud) • run-test.sh (shell script for execution) • image files
  • 50. Image Recognition • Resolution agnostic implementation • Identifies stretched and rotated images as well
  • 51. Let's See How it Works!
  • 53. THANK YOU! More information about frameworks, devices and testing at www.testdroid.com