SlideShare a Scribd company logo
1 of 36
Mobile WebDriver
Selendroid

Dominik Dary
Productivity & Test Engineering Europe
2013-11-21 Software Test Usergroup Hamburg
AGENDA
1. Facts about eBay
2. Selenium
3. Mobile Automation Requirements
4. Selendroid
5. Borderless Test Automation

Mobile WebDriver Selendroid

2
FACTS ABOUT EBAY
EBAY INC. FACTS
•Founded in 1995

•Based in San Jose, California
•27770 Employees worldwide

Mobile WebDriver Selendroid

4
MOBILE FACTS

Mobile Facts

Mobile Fun Facts

162,000,000 downloads
of eBay Inc’s apps

Every 15 seconds, a pair of ladies shoes is purchased on
eBay Mobile in the UK.

Mobile transaction volume
2012: 13 billion USD – overall increase of 120 % from 2011!
2013: expectation is to transact 20 billion USD

4.2 million items
are listed with using mobile apps every week

500 USD
mobile transaction volume every second

Every week, more than 11,000 cars and 690,000 car parts
are sold through eBay’s mobile apps.

Source: http://www.ebayinc.com/system/download_links/eBay_MobileMomentum_Facts_052913_0.pdf?download=1

Mobile WebDriver Selendroid

5
WHO AM I?

Dominik Dary
Software Engineer
E-mail: ddary@ebay.com
Twitter: @dominikdary
Github: http://github.com/dominikdary

Mobile WebDriver Selendroid

6
DISCLAIMER
–Test Automation is Software Development
–End-to-End Tests are slow

–Perfect vs. Good Enough – A Context where
Time to Market Matters

Mobile WebDriver Selendroid

7
SELENIUM
WHAT IS SELENIUM?

Selenium automates browsers
that’s it

Mobile WebDriver Selendroid

9
WHAT DO WE DO WITH SELENIUM?

End to End functional test automation

Manual
Tests

Selenium space

E2
E
Test
s
Integration Tests

Unit Tests

Mobile WebDriver Selendroid

10
SELENIUM
JSON WIRE
PROTOCOL
Client
Server
Ruby
Python

Java
C#

i.e. Firefox driver

Mobile WebDriver Selendroid

11
CLIENT
•Is seen as „Selenium“ by the users
•Is called by the test framework or the CI server

•Generates HTTP requests which are received by the
server

•Supported languages:
Java, C#, Python, Ruby, PHP, JS

Mobile WebDriver Selendroid

12
SERVER
•Receives HTTP requests
•Start and teardown of browser

•Translates requests into browser specific commands
•Communicates back to the client

Mobile WebDriver Selendroid

13
SCALING USING SELENIUM GRID

Client

Client

CI

server

GRID Hub

server

server

Mobile WebDriver Selendroid

14
TECHNICAL HIGH LEVEL OVERVIEW OF
THE TEST INFRASTRUCTURE
Selenium Webdriver / Grid

Automated Test
Development
via IDE

QE
Engineer

Tests can be
started on Grid

eBay web
front end

Version Control System

Clone
Source Files
End-to-End
Tests

Start the Test Suite
via Brower

View the Test
Session and the
Result in the
Browser

+

Build via
Maven
Test type?

Agile
Team

Grid Hub

API Call

eBay API

Run test
via TestNG

Continuous Integration
System (Jenkins)
DB validation

Our virtualized test infrastructure hosted on VMware vSphere

Database

Testing Environment

Mobile WebDriver Selendroid

15
MOBILE AUTOMATION REQUIREMENTS
•Use the same approach and infrastructure as web
•Use the Load Balancer / Resource Management

Features of Selenium Grid
•Manage multiple applications / versions / languages
•No modification of mobile app
•Mobile App Runtime Inspection Support
Mobile WebDriver Selendroid

16
ANOTHER AUTOMATION TOOL?

Android

iOS

• Calabashandroid
• Robotium
• Appium
• UiAutomator
• Espresso

• Calabash-ios
• Frank
• UIAutomation
• Appium
• KeepItFunctional

Selendroid & ios-driver

Mobile WebDriver Selendroid

17
MOBILE WEBDRIVER
SELENDROID
SELENDROID
Open sourced on github:
– https://github.com/selendroid
Documentation:
• https://selendroid.io
Committers:
– eBay, Salesforce and Facebook
Getting help
– IRC : #selendroid on freenode

Mobile WebDriver Selendroid

19
SELENDROID FEATURES

•The only mobile WebDriver that supports native &
hybrid apps on Android versions (API 10 to 19)
•The app under test must not be modified
•Interacts simultaneously with multiple Android devices
•Supports hot plugging of hardware devices
•Selenium Grid Support for scaling
•Advanced Gestures are supported
•Build in Inspector to simplify test case development
•Full compatibility to the JSON Wire Protocol.
Mobile WebDriver Selendroid

20
CLIENT / SERVER ARCHITECTURE

MOBILE
BROWSER
CLIENT

JSON Wire Protocol

SERVER

selendroid
ios-driver
Mobile WebDriver Selendroid

21
TESTING NATIVE APPS
• Elements are found by locators
• Found element are used for different
interactions
• Example

Mobile WebDriver Selendroid

22
NATIVE DEMO
http://youtu.be/074BnGV0mS0

Mobile WebDriver Selendroid

23
TESTING HYBRID APPS
• Build in support for testing WebViews
with WebDriver
• Example:

Mobile WebDriver Selendroid

24
HYBRID DEMO
http://youtu.be/FGsKI6esKpw

Mobile WebDriver Selendroid

25
SELENDROID ARCHITECTURE

WebDriver
Client

HTTP

HTTP & WebDriver
JSON wire protocol

Selendroid
Standalone
Driver

Selendroid-standalone

Android SDK

USB

Mobile WebDriver Selendroid

26
SELENDROID ARCHITECTURE

Mobile WebDriver Selendroid

27
TEST: DEVICE VS. EMULATOR

•Hardware devices and Emulators can be used
•Hardware devices are much faster
•Android devices will be identified automatically
•Hot plugging of hardware devices is supported

Mobile WebDriver Selendroid

28
SELENDROID INSPECTOR
•View hierarchy
•View UI element properties
•UI screenshot with view locator
•Record the click actions
•Display the html of a web view
•XPath helper

Mobile WebDriver Selendroid

29
SELENDROID INSPECTOR IN ACTION

http://youtu.be/JKZeF3eHljo
Mobile WebDriver Selendroid

30
BORDERLESS TEST
AUTOMATION
BORDERLESS TEST AUTOMATION
•Our business is borderless  test automation needs
to be as well

•Use the same approach and infrastructure for web
and mobile

Mobile WebDriver Selendroid

32
SAME API FOR WEB AND MOBILE
A regular Web Test Case

An iPhone app test

An Android app test

Mobile WebDriver Selendroid

33
CROSS PLATFORM DEMO
Uses in one test scenario an iOS app, web page and an Android app.

Mobile WebDriver Selendroid

34
WE ARE LOOKING
FOR
CONTRIBUTORS

Mobile WebDriver Selendroid

35
Thank You!
Questions or Comments?

Dominik Dary

Fork us at Github:

Email: ddary@ebay.com
Twitter: @dominikdary

- http://selendroid.io
- http://github.com/ios-driver

Mobile WebDriver Selendroid

More Related Content

What's hot

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
 
Automated Testing and Continuous Deployment for Mobile Apps with Jenkins
Automated Testing and Continuous Deployment for Mobile Apps with Jenkins Automated Testing and Continuous Deployment for Mobile Apps with Jenkins
Automated Testing and Continuous Deployment for Mobile Apps with Jenkins CloudBees
 
Getting started with appium
Getting started with appiumGetting started with appium
Getting started with appiumPratik Patel
 
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
 
Cross Platform Appium Tests: How To
Cross Platform Appium Tests: How ToCross Platform Appium Tests: How To
Cross Platform Appium Tests: How ToGlobalLogic Ukraine
 
[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
 
[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
 
Appium Meetup #2 - Mobile Web Automation Introduction
Appium Meetup #2 - Mobile Web Automation IntroductionAppium Meetup #2 - Mobile Web Automation Introduction
Appium Meetup #2 - Mobile Web Automation Introductionsnevesbarros
 
Android & iOS Automation Using Appium
Android & iOS Automation Using AppiumAndroid & iOS Automation Using Appium
Android & iOS Automation Using AppiumMindfire Solutions
 
Automation testing on ios platform using appium
Automation testing on ios platform using appiumAutomation testing on ios platform using appium
Automation testing on ios platform using appiumAmbreen Khan
 
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
 
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
 
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
 
Appium Mobile Test Automation like WebDriver
Appium Mobile Test Automation like WebDriverAppium Mobile Test Automation like WebDriver
Appium Mobile Test Automation like WebDriverAndrii Dzynia
 
Mobile Test Automation - Appium
Mobile Test Automation - AppiumMobile Test Automation - Appium
Mobile Test Automation - AppiumMaria Machlowska
 
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
 

What's hot (20)

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?
 
Appium
AppiumAppium
Appium
 
Automated Testing and Continuous Deployment for Mobile Apps with Jenkins
Automated Testing and Continuous Deployment for Mobile Apps with Jenkins Automated Testing and Continuous Deployment for Mobile Apps with Jenkins
Automated Testing and Continuous Deployment for Mobile Apps with Jenkins
 
Getting started with appium
Getting started with appiumGetting started with appium
Getting started with appium
 
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
 
Cross Platform Appium Tests: How To
Cross Platform Appium Tests: How ToCross Platform Appium Tests: How To
Cross Platform Appium Tests: How To
 
[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
 
[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 Meetup #2 - Mobile Web Automation Introduction
Appium Meetup #2 - Mobile Web Automation IntroductionAppium Meetup #2 - Mobile Web Automation Introduction
Appium Meetup #2 - Mobile Web Automation Introduction
 
Android & iOS Automation Using Appium
Android & iOS Automation Using AppiumAndroid & iOS Automation Using Appium
Android & iOS Automation Using Appium
 
Automation testing on ios platform using appium
Automation testing on ios platform using appiumAutomation testing on ios platform using appium
Automation testing on ios platform using appium
 
Automated UI Testing Frameworks
Automated UI Testing FrameworksAutomated UI Testing Frameworks
Automated UI Testing Frameworks
 
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
 
Appium
AppiumAppium
Appium
 
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
 
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?)
 
Appium solution
Appium solutionAppium solution
Appium solution
 
Appium Mobile Test Automation like WebDriver
Appium Mobile Test Automation like WebDriverAppium Mobile Test Automation like WebDriver
Appium Mobile Test Automation like WebDriver
 
Mobile Test Automation - Appium
Mobile Test Automation - AppiumMobile Test Automation - Appium
Mobile Test Automation - Appium
 
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
 

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
 
Agile Testing at eBay
Agile Testing at eBayAgile Testing at eBay
Agile Testing at eBayDominik 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
 
Introducing MCC Banquets & Events (Macedonian Cultural Center)
Introducing MCC Banquets & Events (Macedonian Cultural Center)Introducing MCC Banquets & Events (Macedonian Cultural Center)
Introducing MCC Banquets & Events (Macedonian Cultural Center)Anna Wolski
 
ZNetLive- A Quick Overview
ZNetLive- A Quick OverviewZNetLive- A Quick Overview
ZNetLive- A Quick OverviewZNetLive
 
Summertime nutrition hydration and d
Summertime nutrition hydration and dSummertime nutrition hydration and d
Summertime nutrition hydration and dPetrice Foxworthy
 
Continuous Delivery Agiles 2014 Medellin
Continuous Delivery Agiles 2014 MedellinContinuous Delivery Agiles 2014 Medellin
Continuous Delivery Agiles 2014 MedellinDiego Garber
 
АСДК
АСДКАСДК
АСДКjdanda
 
Системные технологии
Системные технологииСистемные технологии
Системные технологииdmitmix
 
Fruit of Spirit
Fruit of SpiritFruit of Spirit
Fruit of SpiritMei Su
 
Using Selenium and Cucumber to test a Healthcare Information System
Using Selenium and Cucumber to test a Healthcare Information SystemUsing Selenium and Cucumber to test a Healthcare Information System
Using Selenium and Cucumber to test a Healthcare Information Systemandytinkham
 
Catalogo Lechuza Premium Collection 2011
Catalogo Lechuza Premium Collection 2011Catalogo Lechuza Premium Collection 2011
Catalogo Lechuza Premium Collection 2011DeDi
 
Desarrollo de pruebas en entornos Java EE
Desarrollo de pruebas en entornos Java EEDesarrollo de pruebas en entornos Java EE
Desarrollo de pruebas en entornos Java EEJosé Manuel López
 
(Codemotion 2014) JVM GC: WTF?!
(Codemotion 2014) JVM GC: WTF?!(Codemotion 2014) JVM GC: WTF?!
(Codemotion 2014) JVM GC: WTF?!Alonso Torres
 
Selenium Test Automation
Selenium Test AutomationSelenium Test Automation
Selenium Test AutomationBabuDevanandam
 
Testing with Jenkins, Selenium and Continuous Deployment
Testing with Jenkins, Selenium and Continuous DeploymentTesting with Jenkins, Selenium and Continuous Deployment
Testing with Jenkins, Selenium and Continuous DeploymentMax Klymyshyn
 
Rolt group 2015 pro
Rolt group 2015 proRolt group 2015 pro
Rolt group 2015 proROLT Group
 

Viewers also liked (19)

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
 
Agile Testing at eBay
Agile Testing at eBayAgile Testing at eBay
Agile Testing at eBay
 
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
 
Introducing MCC Banquets & Events (Macedonian Cultural Center)
Introducing MCC Banquets & Events (Macedonian Cultural Center)Introducing MCC Banquets & Events (Macedonian Cultural Center)
Introducing MCC Banquets & Events (Macedonian Cultural Center)
 
ZNetLive- A Quick Overview
ZNetLive- A Quick OverviewZNetLive- A Quick Overview
ZNetLive- A Quick Overview
 
Summertime nutrition hydration and d
Summertime nutrition hydration and dSummertime nutrition hydration and d
Summertime nutrition hydration and d
 
Continuous Delivery Agiles 2014 Medellin
Continuous Delivery Agiles 2014 MedellinContinuous Delivery Agiles 2014 Medellin
Continuous Delivery Agiles 2014 Medellin
 
АСДК
АСДКАСДК
АСДК
 
Ifl
IflIfl
Ifl
 
Системные технологии
Системные технологииСистемные технологии
Системные технологии
 
Fruit of Spirit
Fruit of SpiritFruit of Spirit
Fruit of Spirit
 
Using Selenium and Cucumber to test a Healthcare Information System
Using Selenium and Cucumber to test a Healthcare Information SystemUsing Selenium and Cucumber to test a Healthcare Information System
Using Selenium and Cucumber to test a Healthcare Information System
 
Catalogo Lechuza Premium Collection 2011
Catalogo Lechuza Premium Collection 2011Catalogo Lechuza Premium Collection 2011
Catalogo Lechuza Premium Collection 2011
 
Desarrollo de pruebas en entornos Java EE
Desarrollo de pruebas en entornos Java EEDesarrollo de pruebas en entornos Java EE
Desarrollo de pruebas en entornos Java EE
 
EasyBib Presentation with Objectives
EasyBib Presentation with ObjectivesEasyBib Presentation with Objectives
EasyBib Presentation with Objectives
 
(Codemotion 2014) JVM GC: WTF?!
(Codemotion 2014) JVM GC: WTF?!(Codemotion 2014) JVM GC: WTF?!
(Codemotion 2014) JVM GC: WTF?!
 
Selenium Test Automation
Selenium Test AutomationSelenium Test Automation
Selenium Test Automation
 
Testing with Jenkins, Selenium and Continuous Deployment
Testing with Jenkins, Selenium and Continuous DeploymentTesting with Jenkins, Selenium and Continuous Deployment
Testing with Jenkins, Selenium and Continuous Deployment
 
Rolt group 2015 pro
Rolt group 2015 proRolt group 2015 pro
Rolt group 2015 pro
 

Similar to Mobile WebDriver Selendroid

Mobile WebDriver Selendroid
Mobile WebDriver SelendroidMobile WebDriver Selendroid
Mobile WebDriver SelendroidMichael Palotas
 
Native Android Development with Spring
Native Android Development with SpringNative Android Development with Spring
Native Android Development with SpringRoy Clarkson
 
2011 08-24 mobile web app
2011 08-24  mobile web app2011 08-24  mobile web app
2011 08-24 mobile web appSholto Maud
 
Domo Arigato Mr. Roboto - Open Source Bridge 2009
Domo Arigato Mr. Roboto - Open Source Bridge 2009Domo Arigato Mr. Roboto - Open Source Bridge 2009
Domo Arigato Mr. Roboto - Open Source Bridge 2009sullis
 
Big Data And HTML5 (DevCon TLV 2012)
Big Data And HTML5 (DevCon TLV 2012)Big Data And HTML5 (DevCon TLV 2012)
Big Data And HTML5 (DevCon TLV 2012)Ido Green
 
Automated Acceptance Testing Example
Automated Acceptance Testing ExampleAutomated Acceptance Testing Example
Automated Acceptance Testing ExampleHani Massoud
 
Automating Hybrid Applications with Appium
Automating Hybrid Applications with AppiumAutomating Hybrid Applications with Appium
Automating Hybrid Applications with AppiumSauce Labs
 
I knew there had to be a better way to build mobile apps
I knew there had to be a better way to build mobile appsI knew there had to be a better way to build mobile apps
I knew there had to be a better way to build mobile appsAlius Petraška
 
JUDCon 2014: Gearing up for mobile development with AeroGear
JUDCon 2014: Gearing up for mobile development with AeroGearJUDCon 2014: Gearing up for mobile development with AeroGear
JUDCon 2014: Gearing up for mobile development with AeroGearprajods
 
Mobile automation using selenium cucumber & appium
Mobile automation using selenium cucumber & appiumMobile automation using selenium cucumber & appium
Mobile automation using selenium cucumber & appiumSelenium Cucumber
 
Automation using Javascript
Automation using JavascriptAutomation using Javascript
Automation using Javascriptkhanhdang1214
 
Create a Windows 8 App in minutes
Create a Windows 8 App in minutesCreate a Windows 8 App in minutes
Create a Windows 8 App in minutesFrank La Vigne
 
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)Ryan Cuprak
 
Ship quality mobile apps with speed [Webinar]
Ship quality mobile apps with speed [Webinar]Ship quality mobile apps with speed [Webinar]
Ship quality mobile apps with speed [Webinar]BrowserStack
 

Similar to Mobile WebDriver Selendroid (20)

Mobile WebDriver Selendroid
Mobile WebDriver SelendroidMobile WebDriver Selendroid
Mobile WebDriver Selendroid
 
Native Android Development with Spring
Native Android Development with SpringNative Android Development with Spring
Native Android Development with Spring
 
Appium solution artizone
Appium solution   artizoneAppium solution   artizone
Appium solution artizone
 
2011 08-24 mobile web app
2011 08-24  mobile web app2011 08-24  mobile web app
2011 08-24 mobile web app
 
Domo Arigato Mr. Roboto - Open Source Bridge 2009
Domo Arigato Mr. Roboto - Open Source Bridge 2009Domo Arigato Mr. Roboto - Open Source Bridge 2009
Domo Arigato Mr. Roboto - Open Source Bridge 2009
 
Big Data And HTML5 (DevCon TLV 2012)
Big Data And HTML5 (DevCon TLV 2012)Big Data And HTML5 (DevCon TLV 2012)
Big Data And HTML5 (DevCon TLV 2012)
 
Selenium topic 3 -Web Driver Basics
Selenium topic 3 -Web Driver BasicsSelenium topic 3 -Web Driver Basics
Selenium topic 3 -Web Driver Basics
 
Power Mobile Apps with Sitecore
Power Mobile Apps with SitecorePower Mobile Apps with Sitecore
Power Mobile Apps with Sitecore
 
Automated Acceptance Testing Example
Automated Acceptance Testing ExampleAutomated Acceptance Testing Example
Automated Acceptance Testing Example
 
ATAGTR2017 Appium
ATAGTR2017 AppiumATAGTR2017 Appium
ATAGTR2017 Appium
 
Automating Hybrid Applications with Appium
Automating Hybrid Applications with AppiumAutomating Hybrid Applications with Appium
Automating Hybrid Applications with Appium
 
I knew there had to be a better way to build mobile apps
I knew there had to be a better way to build mobile appsI knew there had to be a better way to build mobile apps
I knew there had to be a better way to build mobile apps
 
JUDCon 2014: Gearing up for mobile development with AeroGear
JUDCon 2014: Gearing up for mobile development with AeroGearJUDCon 2014: Gearing up for mobile development with AeroGear
JUDCon 2014: Gearing up for mobile development with AeroGear
 
Mobile automation using selenium cucumber & appium
Mobile automation using selenium cucumber & appiumMobile automation using selenium cucumber & appium
Mobile automation using selenium cucumber & appium
 
Automation using Javascript
Automation using JavascriptAutomation using Javascript
Automation using Javascript
 
Create a Windows 8 App in minutes
Create a Windows 8 App in minutesCreate a Windows 8 App in minutes
Create a Windows 8 App in minutes
 
Mobile web development
Mobile web developmentMobile web development
Mobile web development
 
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
 
Neev AngularJS Capabilities
Neev AngularJS CapabilitiesNeev AngularJS Capabilities
Neev AngularJS Capabilities
 
Ship quality mobile apps with speed [Webinar]
Ship quality mobile apps with speed [Webinar]Ship quality mobile apps with speed [Webinar]
Ship quality mobile apps with speed [Webinar]
 

Recently uploaded

Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Recently uploaded (20)

Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

Mobile WebDriver Selendroid

  • 1. Mobile WebDriver Selendroid Dominik Dary Productivity & Test Engineering Europe 2013-11-21 Software Test Usergroup Hamburg
  • 2. AGENDA 1. Facts about eBay 2. Selenium 3. Mobile Automation Requirements 4. Selendroid 5. Borderless Test Automation Mobile WebDriver Selendroid 2
  • 4. EBAY INC. FACTS •Founded in 1995 •Based in San Jose, California •27770 Employees worldwide Mobile WebDriver Selendroid 4
  • 5. MOBILE FACTS Mobile Facts Mobile Fun Facts 162,000,000 downloads of eBay Inc’s apps Every 15 seconds, a pair of ladies shoes is purchased on eBay Mobile in the UK. Mobile transaction volume 2012: 13 billion USD – overall increase of 120 % from 2011! 2013: expectation is to transact 20 billion USD 4.2 million items are listed with using mobile apps every week 500 USD mobile transaction volume every second Every week, more than 11,000 cars and 690,000 car parts are sold through eBay’s mobile apps. Source: http://www.ebayinc.com/system/download_links/eBay_MobileMomentum_Facts_052913_0.pdf?download=1 Mobile WebDriver Selendroid 5
  • 6. WHO AM I? Dominik Dary Software Engineer E-mail: ddary@ebay.com Twitter: @dominikdary Github: http://github.com/dominikdary Mobile WebDriver Selendroid 6
  • 7. DISCLAIMER –Test Automation is Software Development –End-to-End Tests are slow –Perfect vs. Good Enough – A Context where Time to Market Matters Mobile WebDriver Selendroid 7
  • 9. WHAT IS SELENIUM? Selenium automates browsers that’s it Mobile WebDriver Selendroid 9
  • 10. WHAT DO WE DO WITH SELENIUM? End to End functional test automation Manual Tests Selenium space E2 E Test s Integration Tests Unit Tests Mobile WebDriver Selendroid 10
  • 12. CLIENT •Is seen as „Selenium“ by the users •Is called by the test framework or the CI server •Generates HTTP requests which are received by the server •Supported languages: Java, C#, Python, Ruby, PHP, JS Mobile WebDriver Selendroid 12
  • 13. SERVER •Receives HTTP requests •Start and teardown of browser •Translates requests into browser specific commands •Communicates back to the client Mobile WebDriver Selendroid 13
  • 14. SCALING USING SELENIUM GRID Client Client CI server GRID Hub server server Mobile WebDriver Selendroid 14
  • 15. TECHNICAL HIGH LEVEL OVERVIEW OF THE TEST INFRASTRUCTURE Selenium Webdriver / Grid Automated Test Development via IDE QE Engineer Tests can be started on Grid eBay web front end Version Control System Clone Source Files End-to-End Tests Start the Test Suite via Brower View the Test Session and the Result in the Browser + Build via Maven Test type? Agile Team Grid Hub API Call eBay API Run test via TestNG Continuous Integration System (Jenkins) DB validation Our virtualized test infrastructure hosted on VMware vSphere Database Testing Environment Mobile WebDriver Selendroid 15
  • 16. MOBILE AUTOMATION REQUIREMENTS •Use the same approach and infrastructure as web •Use the Load Balancer / Resource Management Features of Selenium Grid •Manage multiple applications / versions / languages •No modification of mobile app •Mobile App Runtime Inspection Support Mobile WebDriver Selendroid 16
  • 17. ANOTHER AUTOMATION TOOL? Android iOS • Calabashandroid • Robotium • Appium • UiAutomator • Espresso • Calabash-ios • Frank • UIAutomation • Appium • KeepItFunctional Selendroid & ios-driver Mobile WebDriver Selendroid 17
  • 19. SELENDROID Open sourced on github: – https://github.com/selendroid Documentation: • https://selendroid.io Committers: – eBay, Salesforce and Facebook Getting help – IRC : #selendroid on freenode Mobile WebDriver Selendroid 19
  • 20. SELENDROID FEATURES •The only mobile WebDriver that supports native & hybrid apps on Android versions (API 10 to 19) •The app under test must not be modified •Interacts simultaneously with multiple Android devices •Supports hot plugging of hardware devices •Selenium Grid Support for scaling •Advanced Gestures are supported •Build in Inspector to simplify test case development •Full compatibility to the JSON Wire Protocol. Mobile WebDriver Selendroid 20
  • 21. CLIENT / SERVER ARCHITECTURE MOBILE BROWSER CLIENT JSON Wire Protocol SERVER selendroid ios-driver Mobile WebDriver Selendroid 21
  • 22. TESTING NATIVE APPS • Elements are found by locators • Found element are used for different interactions • Example Mobile WebDriver Selendroid 22
  • 24. TESTING HYBRID APPS • Build in support for testing WebViews with WebDriver • Example: Mobile WebDriver Selendroid 24
  • 26. SELENDROID ARCHITECTURE WebDriver Client HTTP HTTP & WebDriver JSON wire protocol Selendroid Standalone Driver Selendroid-standalone Android SDK USB Mobile WebDriver Selendroid 26
  • 28. TEST: DEVICE VS. EMULATOR •Hardware devices and Emulators can be used •Hardware devices are much faster •Android devices will be identified automatically •Hot plugging of hardware devices is supported Mobile WebDriver Selendroid 28
  • 29. SELENDROID INSPECTOR •View hierarchy •View UI element properties •UI screenshot with view locator •Record the click actions •Display the html of a web view •XPath helper Mobile WebDriver Selendroid 29
  • 30. SELENDROID INSPECTOR IN ACTION http://youtu.be/JKZeF3eHljo Mobile WebDriver Selendroid 30
  • 32. BORDERLESS TEST AUTOMATION •Our business is borderless  test automation needs to be as well •Use the same approach and infrastructure for web and mobile Mobile WebDriver Selendroid 32
  • 33. SAME API FOR WEB AND MOBILE A regular Web Test Case An iPhone app test An Android app test Mobile WebDriver Selendroid 33
  • 34. CROSS PLATFORM DEMO Uses in one test scenario an iOS app, web page and an Android app. Mobile WebDriver Selendroid 34
  • 35. WE ARE LOOKING FOR CONTRIBUTORS Mobile WebDriver Selendroid 35
  • 36. Thank You! Questions or Comments? Dominik Dary Fork us at Github: Email: ddary@ebay.com Twitter: @dominikdary - http://selendroid.io - http://github.com/ios-driver Mobile WebDriver Selendroid

Editor's Notes

  1. HiereinpaarFaktenzu eBay