SlideShare a Scribd company logo
1 of 31
Android Test Automation –
one year later
Dominik Dary
Productivity & Test Engineering Europe
2014-03-30 Codefest Novosibirsk
WHO AM I?
Android Test Automation
Dominik Dary
Software Engineer
Twitter: @dominikdary
Github: http://github.com/dominikdary
2
AGENDA
1. Mobile Testing is different
2. One Protocol to Rule them all
3. Selenium for Android: Selendroid
4. Keep It Stupid Simple for the Testers
5. Maintainability is King
6. Test Insfrastructure
7. Multiple Devices - Borderless Test Automation
8. Conclusion
Android Test Automation 3
MOBILE TESTING IS
DIFFERENT
WHAT IS MOBILE TESTING?
Android Test Automation
Source: http://www.flickr.com/photos/softwaretestingclub/7159412943/sizes/o/in/photostream/
5
WHAT IS QUALITY? WHAT IS AGILE TESTING?
successful
useful
usable
Performance, etc
Correct (functional)
Source:
Gojko Adzic
Android Test Automation 6
ONE PROTOCOL TO
RULE THEM ALL
W3C WEBDRIVER SPEC
Android Test Automation
JSON WIRE
PROTOCOLClient
Java
C#
Ruby
Python
i.e. FirefoxDriver, selendroid,
ios-driver
Server
https://dvcs.w3.org/hg/webdriver/raw-file/tip/webdriver-spec.html
Selendroid - Supported Methods
8
ONE PROTOCOL TO RULE THEM ALL
Android Test Automation
Source:
http://en.wikipedia.org/wiki/File:Unico_Anello.png#file
9
SELENIUM FOR
ANDROID
SELENDROID
Open sourced on github:
– https://github.com/selendroid
Documentation:
•https://selendroid.io
Committers:
– eBay, Salesforce and Facebook
Getting help
– IRC : #selendroid on freenode
Android Test Automation 11
SELENDROID FEATURES
– The only mobile WebDriver that supports native & hybrid apps
and testing the mobile web on Android versions (API 10 to 19)
– Full compatibility with the JSON Wire Protocol.
– The app under test must not be modified
– No jailbreak / rooting of devices
– Interacts simultaneously with multiple Android devices
– Supports hot plugging of hardware devices
– Advanced Gestures are supported
Android Test Automation 12
TESTING NATIVE APPS
•Elements are found by locators
•Found element are used for different interactions
•Example
Android Test Automation 13
TESTING HYBRID APPS
•Built in support for testing WebViews
with WebDriver
•Switching between the element-tree of
native-ui and web-ui
Example:
Android Test Automation 14
TESTING MOBILE WEB
•Built in support for testing Mobile Web
with AndroidDriver-App
•Official replacement of Selenium’s AndroidDriver
•Example:
Android Test Automation 15
Selendroid in Action
– Native Demo: http://youtu.be/074BnGV0mS0
– Hybrid Demo: http://youtu.be/FGsKI6esKpw
– Mobile Web Demo: http://goo.gl/41uvAx
– Selendroid Quick Start:
http://selendroid.io/quickStart.html
Android Test Automation 16
KEEP IT STUPID SIMPLE
FOR THE TESTERS
Android Test Automation
SELENDROID INSPECTOR
•View hierarchy
•View UI element properties
•UI screenshot with view
locator
•Record the click actions
•View HTML of a web view
•XPath helper
Android Test Automation
Demo: http://youtu.be/JKZeF3eHljo
18
SELENDROID REPL
•Interactive Command execution
•Results are immediately displayed
•The app can be manually used to navigate to the dialog
you want to automate.
•Interested? Read more: http://goo.gl/U8D4yu
Android Test Automation 19
MAINTAINABILITY IS
KING
Android Test Automation
ANDROID APP TEST CASE
Android Test Automation
Tests
Flow
Objects
Page
Objects
21
TEST
INSFRASTRUCTURE
THE IMPORTANCE OF PARALLEL TEST
EXECUTION
•Multiple Apps
•12 European Sites
•iOS Devices
–iPhone vs. iPad
–Version
•Android Devices
–Manufactures
–Screen Sizes
–OS Modifications
Android Test Automation 23
Picture Source: http://www.flickr.com/photos/ippei-janine/483345027/
SCALING USING SELENIUM GRID
Android Test Automation
Client
serverGRID HubClient
CI
server
server
24
TEST INFRASTRUCTURE
Android Test Automation 25
Our virtualized test infrastructure hosted on VMware vSphere
Selenium Webdriver / Grid
Testing Environment
Test type?
End-to-End
Tests
API Call
DB validation
eBay web
front end
Clone
Source Files
Run test
via TestNG
Build via
Maven
eBay API
Start the Test Suite
via Brower
View the Test
Session and the
Result in the
Browser
Version Control System
Continuous Integration
System (Jenkins)
Agile
Team
Automated Test
Development
via IDE
QE
Engineer
Database
Tests can be
started on Grid
+
Grid Hub
MULTIPE DEVICES -
BORDERLESS TEST
AUTOMATION
SAME API FOR WEB AND MOBILE
A regular Web Test Case
Android Test Automation
An iPhone app test An Android app test
27
CROSS PLATFORM MULTI DEVICE DEMO
Uses an iOS app, web page and an Android app in one scenario.
Android Test Automation 28
CONCLUSION
•Use the same approach and infrastructure as web
•Our business is borderless  test automation needs
to be as well
•Open Source is your best friend
•Work with the right people
Android Test Automation 29
WE ARE LOOKING FOR
CONTRIBUTORS
Android Test Automation 30
Thank You!
Questions or Comments?
Android Test Automation
Dominik Dary
Twitter: @dominikdary

More Related Content

What's hot

Selendroid - Selenium for Android
Selendroid - Selenium for AndroidSelendroid - Selenium for Android
Selendroid - Selenium for AndroidDominik Dary
 
Ios driver presentation copy
Ios driver presentation copyIos driver presentation copy
Ios driver presentation copyDavid O'Dowd
 
How we Test at eBay Europe
How we Test at eBay EuropeHow we Test at eBay Europe
How we Test at eBay EuropeMichael Palotas
 
[Srijan Wednesday Webinars] Building a High Performance QA Team
[Srijan Wednesday Webinars] Building a High Performance QA Team[Srijan Wednesday Webinars] Building a High Performance QA Team
[Srijan Wednesday Webinars] Building a High Performance QA TeamSrijan Technologies
 
Top Best Practices for Successful Mobile Test Automation
Top Best Practices for Successful Mobile Test AutomationTop Best Practices for Successful Mobile Test Automation
Top Best Practices for Successful Mobile Test AutomationFred Beringer
 
Different Android Test Automation Frameworks - What Works You the Best?
Different Android Test Automation Frameworks - What Works You the Best?Different Android Test Automation Frameworks - What Works You the Best?
Different Android Test Automation Frameworks - What Works You the Best?Bitbar
 
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with AppiumSrijan Technologies
 
Getting started with appium
Getting started with appiumGetting started with appium
Getting started with appiumPratik Patel
 
Live Panel: Appium Core Committers Answer Your Questions
Live Panel: Appium Core Committers Answer Your Questions		Live Panel: Appium Core Committers Answer Your Questions
Live Panel: Appium Core Committers Answer Your Questions Sauce Labs
 
Selenium Camp 2016
Selenium Camp 2016Selenium Camp 2016
Selenium Camp 2016Dan Cuellar
 
Hassle-Free Continuous Integration with Real Device Testing
Hassle-Free Continuous Integration with Real Device TestingHassle-Free Continuous Integration with Real Device Testing
Hassle-Free Continuous Integration with Real Device TestingBitbar
 
Android & iOS Automation Using Appium
Android & iOS Automation Using AppiumAndroid & iOS Automation Using Appium
Android & iOS Automation Using AppiumMindfire Solutions
 
Appium Mobile Test Automation like WebDriver
Appium Mobile Test Automation like WebDriverAppium Mobile Test Automation like WebDriver
Appium Mobile Test Automation like WebDriverAndrii Dzynia
 
Cross Platform Appium Tests: How To
Cross Platform Appium Tests: How ToCross Platform Appium Tests: How To
Cross Platform Appium Tests: How ToGlobalLogic Ukraine
 
Advanced Appium Tips & Tricks with Jonathan Lipps
Advanced Appium Tips & Tricks with Jonathan LippsAdvanced Appium Tips & Tricks with Jonathan Lipps
Advanced Appium Tips & Tricks with Jonathan LippsPerfecto by Perforce
 
Mobile Test Automation - Appium
Mobile Test Automation - AppiumMobile Test Automation - Appium
Mobile Test Automation - AppiumMaria Machlowska
 
Using Selenium to Test Native Apps (Wait, you can do that?)
Using Selenium to Test Native Apps (Wait, you can do that?)Using Selenium to Test Native Apps (Wait, you can do that?)
Using Selenium to Test Native Apps (Wait, you can do that?)Sauce Labs
 
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on WebinarParallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on WebinarBitbar
 

What's hot (20)

Selendroid - Selenium for Android
Selendroid - Selenium for AndroidSelendroid - Selenium for Android
Selendroid - Selenium for Android
 
Ios driver presentation copy
Ios driver presentation copyIos driver presentation copy
Ios driver presentation copy
 
How we Test at eBay Europe
How we Test at eBay EuropeHow we Test at eBay Europe
How we Test at eBay Europe
 
[Srijan Wednesday Webinars] Building a High Performance QA Team
[Srijan Wednesday Webinars] Building a High Performance QA Team[Srijan Wednesday Webinars] Building a High Performance QA Team
[Srijan Wednesday Webinars] Building a High Performance QA Team
 
Top Best Practices for Successful Mobile Test Automation
Top Best Practices for Successful Mobile Test AutomationTop Best Practices for Successful Mobile Test Automation
Top Best Practices for Successful Mobile Test Automation
 
Different Android Test Automation Frameworks - What Works You the Best?
Different Android Test Automation Frameworks - What Works You the Best?Different Android Test Automation Frameworks - What Works You the Best?
Different Android Test Automation Frameworks - What Works You the Best?
 
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
 
Appium
AppiumAppium
Appium
 
Getting started with appium
Getting started with appiumGetting started with appium
Getting started with appium
 
Live Panel: Appium Core Committers Answer Your Questions
Live Panel: Appium Core Committers Answer Your Questions		Live Panel: Appium Core Committers Answer Your Questions
Live Panel: Appium Core Committers Answer Your Questions
 
Selenium Camp 2016
Selenium Camp 2016Selenium Camp 2016
Selenium Camp 2016
 
Hassle-Free Continuous Integration with Real Device Testing
Hassle-Free Continuous Integration with Real Device TestingHassle-Free Continuous Integration with Real Device Testing
Hassle-Free Continuous Integration with Real Device Testing
 
Automated UI Testing Frameworks
Automated UI Testing FrameworksAutomated UI Testing Frameworks
Automated UI Testing Frameworks
 
Android & iOS Automation Using Appium
Android & iOS Automation Using AppiumAndroid & iOS Automation Using Appium
Android & iOS Automation Using Appium
 
Appium Mobile Test Automation like WebDriver
Appium Mobile Test Automation like WebDriverAppium Mobile Test Automation like WebDriver
Appium Mobile Test Automation like WebDriver
 
Cross Platform Appium Tests: How To
Cross Platform Appium Tests: How ToCross Platform Appium Tests: How To
Cross Platform Appium Tests: How To
 
Advanced Appium Tips & Tricks with Jonathan Lipps
Advanced Appium Tips & Tricks with Jonathan LippsAdvanced Appium Tips & Tricks with Jonathan Lipps
Advanced Appium Tips & Tricks with Jonathan Lipps
 
Mobile Test Automation - Appium
Mobile Test Automation - AppiumMobile Test Automation - Appium
Mobile Test Automation - Appium
 
Using Selenium to Test Native Apps (Wait, you can do that?)
Using Selenium to Test Native Apps (Wait, you can do that?)Using Selenium to Test Native Apps (Wait, you can do that?)
Using Selenium to Test Native Apps (Wait, you can do that?)
 
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on WebinarParallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
 

Viewers also liked

InfoCamp 12 Keynote - Innovation in the fast lane with Open Source Tools
InfoCamp 12 Keynote - Innovation in the fast lane with Open Source ToolsInfoCamp 12 Keynote - Innovation in the fast lane with Open Source Tools
InfoCamp 12 Keynote - Innovation in the fast lane with Open Source ToolsDominik Dary
 
Software Measurement in agilen Projekten mit Open Source Tools
Software Measurement in agilen Projekten mit Open Source ToolsSoftware Measurement in agilen Projekten mit Open Source Tools
Software Measurement in agilen Projekten mit Open Source ToolsDominik Dary
 
Magneto - Android Test Automation
Magneto - Android Test AutomationMagneto - Android Test Automation
Magneto - Android Test AutomationRan Byron
 
Creare Suite di Test Automatici intelligenti con Selenium IDE
Creare Suite di Test Automatici intelligenti con Selenium IDECreare Suite di Test Automatici intelligenti con Selenium IDE
Creare Suite di Test Automatici intelligenti con Selenium IDEStefano Trojani
 
Come automatizzare i test con Selenium IDE
Come automatizzare i test con Selenium IDECome automatizzare i test con Selenium IDE
Come automatizzare i test con Selenium IDEStefano Trojani
 
MDC2011 Android_ Webdriver Automation Test
MDC2011 Android_ Webdriver Automation TestMDC2011 Android_ Webdriver Automation Test
MDC2011 Android_ Webdriver Automation TestMasud Parvez
 
Android tools for testers
Android tools for testersAndroid tools for testers
Android tools for testersMaksim Kovalev
 
Athena, Android UI Testing Platfrom
Athena, Android UI Testing PlatfromAthena, Android UI Testing Platfrom
Athena, Android UI Testing PlatfromBuddy Arifin
 
Using GUI Ripping for Automated Testing of Android Apps
Using GUI Ripping for Automated Testing of Android AppsUsing GUI Ripping for Automated Testing of Android Apps
Using GUI Ripping for Automated Testing of Android AppsPorfirio Tramontana
 
Tech Talk #5 : Android Automation Test with Espresso - Trần Văn Toàn
Tech Talk #5 : Android Automation Test with Espresso - Trần Văn ToànTech Talk #5 : Android Automation Test with Espresso - Trần Văn Toàn
Tech Talk #5 : Android Automation Test with Espresso - Trần Văn ToànNexus FrontierTech
 
Making the Transition from Suite to the Hub
Making the Transition from Suite to the HubMaking the Transition from Suite to the Hub
Making the Transition from Suite to the HubBlack Duck by Synopsys
 
A guide to Android automated testing
A guide to Android automated testingA guide to Android automated testing
A guide to Android automated testingjotaemepereira
 
Interview Questions for Mobile application Testing
Interview Questions for Mobile application TestingInterview Questions for Mobile application Testing
Interview Questions for Mobile application TestingRahul S Singh
 
Mobile automation – should I use robotium or calabash or appium?
Mobile automation – should I use robotium or calabash or appium?Mobile automation – should I use robotium or calabash or appium?
Mobile automation – should I use robotium or calabash or appium?Zado Technologies
 
Programming skills for test automation
Programming skills for test automationProgramming skills for test automation
Programming skills for test automationRomania Testing
 
Screenshots Test spoon + espresso
Screenshots Test spoon + espressoScreenshots Test spoon + espresso
Screenshots Test spoon + espressoShinobu Okano
 
Test Automation using Athena by OLX - Intro
Test Automation using Athena by OLX - IntroTest Automation using Athena by OLX - Intro
Test Automation using Athena by OLX - IntroMC Gagan
 

Viewers also liked (20)

InfoCamp 12 Keynote - Innovation in the fast lane with Open Source Tools
InfoCamp 12 Keynote - Innovation in the fast lane with Open Source ToolsInfoCamp 12 Keynote - Innovation in the fast lane with Open Source Tools
InfoCamp 12 Keynote - Innovation in the fast lane with Open Source Tools
 
Software Measurement in agilen Projekten mit Open Source Tools
Software Measurement in agilen Projekten mit Open Source ToolsSoftware Measurement in agilen Projekten mit Open Source Tools
Software Measurement in agilen Projekten mit Open Source Tools
 
Magneto - Android Test Automation
Magneto - Android Test AutomationMagneto - Android Test Automation
Magneto - Android Test Automation
 
Creare Suite di Test Automatici intelligenti con Selenium IDE
Creare Suite di Test Automatici intelligenti con Selenium IDECreare Suite di Test Automatici intelligenti con Selenium IDE
Creare Suite di Test Automatici intelligenti con Selenium IDE
 
Come automatizzare i test con Selenium IDE
Come automatizzare i test con Selenium IDECome automatizzare i test con Selenium IDE
Come automatizzare i test con Selenium IDE
 
MDC2011 Android_ Webdriver Automation Test
MDC2011 Android_ Webdriver Automation TestMDC2011 Android_ Webdriver Automation Test
MDC2011 Android_ Webdriver Automation Test
 
Android tools for testers
Android tools for testersAndroid tools for testers
Android tools for testers
 
Athena, Android UI Testing Platfrom
Athena, Android UI Testing PlatfromAthena, Android UI Testing Platfrom
Athena, Android UI Testing Platfrom
 
Using GUI Ripping for Automated Testing of Android Apps
Using GUI Ripping for Automated Testing of Android AppsUsing GUI Ripping for Automated Testing of Android Apps
Using GUI Ripping for Automated Testing of Android Apps
 
Android development
Android developmentAndroid development
Android development
 
Android Espresso
Android EspressoAndroid Espresso
Android Espresso
 
Tech Talk #5 : Android Automation Test with Espresso - Trần Văn Toàn
Tech Talk #5 : Android Automation Test with Espresso - Trần Văn ToànTech Talk #5 : Android Automation Test with Espresso - Trần Văn Toàn
Tech Talk #5 : Android Automation Test with Espresso - Trần Văn Toàn
 
Athena by OLX
Athena by OLXAthena by OLX
Athena by OLX
 
Making the Transition from Suite to the Hub
Making the Transition from Suite to the HubMaking the Transition from Suite to the Hub
Making the Transition from Suite to the Hub
 
A guide to Android automated testing
A guide to Android automated testingA guide to Android automated testing
A guide to Android automated testing
 
Interview Questions for Mobile application Testing
Interview Questions for Mobile application TestingInterview Questions for Mobile application Testing
Interview Questions for Mobile application Testing
 
Mobile automation – should I use robotium or calabash or appium?
Mobile automation – should I use robotium or calabash or appium?Mobile automation – should I use robotium or calabash or appium?
Mobile automation – should I use robotium or calabash or appium?
 
Programming skills for test automation
Programming skills for test automationProgramming skills for test automation
Programming skills for test automation
 
Screenshots Test spoon + espresso
Screenshots Test spoon + espressoScreenshots Test spoon + espresso
Screenshots Test spoon + espresso
 
Test Automation using Athena by OLX - Intro
Test Automation using Athena by OLX - IntroTest Automation using Athena by OLX - Intro
Test Automation using Athena by OLX - Intro
 

Similar to Android Test Automation – one year later

Appium meet up noida
Appium meet up noidaAppium meet up noida
Appium meet up noidaAmit Rawat
 
Android Apps Testing in 2019
Android Apps Testing in 2019Android Apps Testing in 2019
Android Apps Testing in 2019Ivan Katunou
 
Automation Proposal_V1.0
Automation Proposal_V1.0Automation Proposal_V1.0
Automation Proposal_V1.0Dao Nhỏ
 
Testing on Android
Testing on AndroidTesting on Android
Testing on AndroidAri Lacenski
 
Mobile Test Automation using one API and one infrastructure
Mobile Test Automation using one API and one infrastructureMobile Test Automation using one API and one infrastructure
Mobile Test Automation using one API and one infrastructureMichael Palotas
 
Android automation tools
Android automation toolsAndroid automation tools
Android automation toolsSSGMCE SHEGAON
 
Fight back android fragmentation
Fight back android fragmentationFight back android fragmentation
Fight back android fragmentationBitbar
 
Appium Mobile Testing - Nakov at js.talks() Conference - Nov 2021
Appium Mobile Testing - Nakov at js.talks() Conference - Nov 2021Appium Mobile Testing - Nakov at js.talks() Conference - Nov 2021
Appium Mobile Testing - Nakov at js.talks() Conference - Nov 2021Svetlin Nakov
 
Unit Test Android Without Going Bald
Unit Test Android Without Going BaldUnit Test Android Without Going Bald
Unit Test Android Without Going BaldDavid Carver
 
Pdx Se Intro To Se
Pdx Se Intro To SePdx Se Intro To Se
Pdx Se Intro To SeAn Doan
 
2.Android App Development_ Types of Automated Unit Tests.pdf
2.Android App Development_ Types of Automated Unit Tests.pdf2.Android App Development_ Types of Automated Unit Tests.pdf
2.Android App Development_ Types of Automated Unit Tests.pdfBelayet Hossain
 
Mobile automation: a three act tragedy
Mobile automation: a three act tragedyMobile automation: a three act tragedy
Mobile automation: a three act tragedyIvan Krutov
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application TestingSun Technlogies
 
Mobile Application Testing
Mobile Application Testing Mobile Application Testing
Mobile Application Testing Shivaraj R
 
How ANDROID TESTING changed how we think about Death - Second Edition
How ANDROID TESTING changed how we think about Death - Second EditionHow ANDROID TESTING changed how we think about Death - Second Edition
How ANDROID TESTING changed how we think about Death - Second EditionFernando Cejas
 
How ANDROID TESTING changed how we think about Death - Second Edition
How ANDROID TESTING changed how we think about Death - Second EditionHow ANDROID TESTING changed how we think about Death - Second Edition
How ANDROID TESTING changed how we think about Death - Second Editionpenanochizzo
 
Mobile WebDriver Selendroid
Mobile WebDriver SelendroidMobile WebDriver Selendroid
Mobile WebDriver SelendroidMichael Palotas
 
Mobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and DockerMobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and DockerMoataz Nabil
 

Similar to Android Test Automation – one year later (20)

Appium meet up noida
Appium meet up noidaAppium meet up noida
Appium meet up noida
 
Android Apps Testing in 2019
Android Apps Testing in 2019Android Apps Testing in 2019
Android Apps Testing in 2019
 
Automation Proposal_V1.0
Automation Proposal_V1.0Automation Proposal_V1.0
Automation Proposal_V1.0
 
Testing on Android
Testing on AndroidTesting on Android
Testing on Android
 
Mobile Test Automation using one API and one infrastructure
Mobile Test Automation using one API and one infrastructureMobile Test Automation using one API and one infrastructure
Mobile Test Automation using one API and one infrastructure
 
Android automation tools
Android automation toolsAndroid automation tools
Android automation tools
 
Fight back android fragmentation
Fight back android fragmentationFight back android fragmentation
Fight back android fragmentation
 
Appium Mobile Testing - Nakov at js.talks() Conference - Nov 2021
Appium Mobile Testing - Nakov at js.talks() Conference - Nov 2021Appium Mobile Testing - Nakov at js.talks() Conference - Nov 2021
Appium Mobile Testing - Nakov at js.talks() Conference - Nov 2021
 
Unit Test Android Without Going Bald
Unit Test Android Without Going BaldUnit Test Android Without Going Bald
Unit Test Android Without Going Bald
 
Pdx Se Intro To Se
Pdx Se Intro To SePdx Se Intro To Se
Pdx Se Intro To Se
 
mohit anand
 mohit anand mohit anand
mohit anand
 
2.Android App Development_ Types of Automated Unit Tests.pdf
2.Android App Development_ Types of Automated Unit Tests.pdf2.Android App Development_ Types of Automated Unit Tests.pdf
2.Android App Development_ Types of Automated Unit Tests.pdf
 
Mobile testing
Mobile testingMobile testing
Mobile testing
 
Mobile automation: a three act tragedy
Mobile automation: a three act tragedyMobile automation: a three act tragedy
Mobile automation: a three act tragedy
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
 
Mobile Application Testing
Mobile Application Testing Mobile Application Testing
Mobile Application Testing
 
How ANDROID TESTING changed how we think about Death - Second Edition
How ANDROID TESTING changed how we think about Death - Second EditionHow ANDROID TESTING changed how we think about Death - Second Edition
How ANDROID TESTING changed how we think about Death - Second Edition
 
How ANDROID TESTING changed how we think about Death - Second Edition
How ANDROID TESTING changed how we think about Death - Second EditionHow ANDROID TESTING changed how we think about Death - Second Edition
How ANDROID TESTING changed how we think about Death - Second Edition
 
Mobile WebDriver Selendroid
Mobile WebDriver SelendroidMobile WebDriver Selendroid
Mobile WebDriver Selendroid
 
Mobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and DockerMobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and Docker
 

Recently uploaded

The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 

Recently uploaded (20)

The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 

Android Test Automation – one year later

  • 1. Android Test Automation – one year later Dominik Dary Productivity & Test Engineering Europe 2014-03-30 Codefest Novosibirsk
  • 2. WHO AM I? Android Test Automation Dominik Dary Software Engineer Twitter: @dominikdary Github: http://github.com/dominikdary 2
  • 3. AGENDA 1. Mobile Testing is different 2. One Protocol to Rule them all 3. Selenium for Android: Selendroid 4. Keep It Stupid Simple for the Testers 5. Maintainability is King 6. Test Insfrastructure 7. Multiple Devices - Borderless Test Automation 8. Conclusion Android Test Automation 3
  • 5. WHAT IS MOBILE TESTING? Android Test Automation Source: http://www.flickr.com/photos/softwaretestingclub/7159412943/sizes/o/in/photostream/ 5
  • 6. WHAT IS QUALITY? WHAT IS AGILE TESTING? successful useful usable Performance, etc Correct (functional) Source: Gojko Adzic Android Test Automation 6
  • 8. W3C WEBDRIVER SPEC Android Test Automation JSON WIRE PROTOCOLClient Java C# Ruby Python i.e. FirefoxDriver, selendroid, ios-driver Server https://dvcs.w3.org/hg/webdriver/raw-file/tip/webdriver-spec.html Selendroid - Supported Methods 8
  • 9. ONE PROTOCOL TO RULE THEM ALL Android Test Automation Source: http://en.wikipedia.org/wiki/File:Unico_Anello.png#file 9
  • 11. SELENDROID Open sourced on github: – https://github.com/selendroid Documentation: •https://selendroid.io Committers: – eBay, Salesforce and Facebook Getting help – IRC : #selendroid on freenode Android Test Automation 11
  • 12. SELENDROID FEATURES – The only mobile WebDriver that supports native & hybrid apps and testing the mobile web on Android versions (API 10 to 19) – Full compatibility with the JSON Wire Protocol. – The app under test must not be modified – No jailbreak / rooting of devices – Interacts simultaneously with multiple Android devices – Supports hot plugging of hardware devices – Advanced Gestures are supported Android Test Automation 12
  • 13. TESTING NATIVE APPS •Elements are found by locators •Found element are used for different interactions •Example Android Test Automation 13
  • 14. TESTING HYBRID APPS •Built in support for testing WebViews with WebDriver •Switching between the element-tree of native-ui and web-ui Example: Android Test Automation 14
  • 15. TESTING MOBILE WEB •Built in support for testing Mobile Web with AndroidDriver-App •Official replacement of Selenium’s AndroidDriver •Example: Android Test Automation 15
  • 16. Selendroid in Action – Native Demo: http://youtu.be/074BnGV0mS0 – Hybrid Demo: http://youtu.be/FGsKI6esKpw – Mobile Web Demo: http://goo.gl/41uvAx – Selendroid Quick Start: http://selendroid.io/quickStart.html Android Test Automation 16
  • 17. KEEP IT STUPID SIMPLE FOR THE TESTERS Android Test Automation
  • 18. SELENDROID INSPECTOR •View hierarchy •View UI element properties •UI screenshot with view locator •Record the click actions •View HTML of a web view •XPath helper Android Test Automation Demo: http://youtu.be/JKZeF3eHljo 18
  • 19. SELENDROID REPL •Interactive Command execution •Results are immediately displayed •The app can be manually used to navigate to the dialog you want to automate. •Interested? Read more: http://goo.gl/U8D4yu Android Test Automation 19
  • 21. ANDROID APP TEST CASE Android Test Automation Tests Flow Objects Page Objects 21
  • 23. THE IMPORTANCE OF PARALLEL TEST EXECUTION •Multiple Apps •12 European Sites •iOS Devices –iPhone vs. iPad –Version •Android Devices –Manufactures –Screen Sizes –OS Modifications Android Test Automation 23 Picture Source: http://www.flickr.com/photos/ippei-janine/483345027/
  • 24. SCALING USING SELENIUM GRID Android Test Automation Client serverGRID HubClient CI server server 24
  • 25. TEST INFRASTRUCTURE Android Test Automation 25 Our virtualized test infrastructure hosted on VMware vSphere Selenium Webdriver / Grid Testing Environment Test type? End-to-End Tests API Call DB validation eBay web front end Clone Source Files Run test via TestNG Build via Maven eBay API Start the Test Suite via Brower View the Test Session and the Result in the Browser Version Control System Continuous Integration System (Jenkins) Agile Team Automated Test Development via IDE QE Engineer Database Tests can be started on Grid + Grid Hub
  • 26. MULTIPE DEVICES - BORDERLESS TEST AUTOMATION
  • 27. SAME API FOR WEB AND MOBILE A regular Web Test Case Android Test Automation An iPhone app test An Android app test 27
  • 28. CROSS PLATFORM MULTI DEVICE DEMO Uses an iOS app, web page and an Android app in one scenario. Android Test Automation 28
  • 29. CONCLUSION •Use the same approach and infrastructure as web •Our business is borderless  test automation needs to be as well •Open Source is your best friend •Work with the right people Android Test Automation 29
  • 30. WE ARE LOOKING FOR CONTRIBUTORS Android Test Automation 30
  • 31. Thank You! Questions or Comments? Android Test Automation Dominik Dary Twitter: @dominikdary