SlideShare uma empresa Scribd logo
1 de 39
Baixar para ler offline
Mobile WebDriver
Selendroid

Michael Palotas & Dominik Dary
Productivity & Test Engineering Europe
2014-01-17 Nokia Here Unconference
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.

MICHAEL PALOTAS - EBAY INTERNATIONAL

4
EBAY INC. FACTS
• Founded in 1995
• Based in San Jose, California
• ~30000 Employees worldwide

Mobile WebDriver Selendroid

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

6
WHO ARE WE?

Michael Palotas
Head of Productivity & Test Engineering

Dominik Dary
Software Engineer

SELENIUM FOR MOBILE

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

8
SELENIUM
WHAT IS SELENIUM?

Selenium automates browsers
that’s it

Mobile WebDriver Selendroid

10
WHAT DO WE DO WITH SELENIUM?
End to End functional test automation
Manual
Tests

Selenium space

E2E
Test
s
Integration Tests

Unit Tests

Mobile WebDriver Selendroid

11
SELENIUM
JSON WIRE
PROTOCOL

Client

Server
Ruby
Python

Java
C#

i.e. Firefox driver

Mobile WebDriver Selendroid

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

13
SERVER
• Receives HTTP requests
• Start and teardown of browser
• Translates requests into browser specific commands
• Communicates back to the client

Mobile WebDriver Selendroid

14
SCALING USING SELENIUM GRID

Client

Client

CI

server

GRID Hub

server

server

Mobile WebDriver Selendroid

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

Start the Test Suite
via Brower

End-to-End
Tests

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

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
• No jailbreak / rooting of devices
Mobile WebDriver Selendroid

17
ANOTHER AUTOMATION TOOL?

Android

iOS

•  Calabashandroid
•  Robotium
•  Appium
•  UiAutomator
•  Espresso

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

Selendroid & ios-driver

Mobile WebDriver Selendroid

18
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

20
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
• Interacts simultaneously with multiple Android devices
• Supports hot plugging of hardware devices
• Selenium Grid Support for scaling
• Advanced Gestures are supported
• Built in Inspector to simplify test case development
Mobile WebDriver Selendroid

21
CLIENT / SERVER ARCHITECTURE

MOBILE
BROWSER
CLIENT

JSON Wire Protocol

SERVER

selendroid
ios-driver
Mobile WebDriver Selendroid

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

Mobile WebDriver Selendroid

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

Mobile WebDriver Selendroid

24
TESTING HYBRID APPS
• Built in support for testing WebViews
with WebDriver
• Example:

Mobile WebDriver Selendroid

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

Mobile WebDriver Selendroid

26
TESTING MOBILE WEB
• Built in support for testing Mobile Web
with AndroidDriver-App
• Official replacement of Selenium’s
AndroidDriver
• Example:

Mobile WebDriver Selendroid

27
MOBLE WEB DEMO
http://goo.gl/41uvAx

Mobile WebDriver Selendroid

28
SELENDROID ARCHITECTURE

WebDriver
Client

HTTP

HTTP & WebDriver
JSON wire protocol

Selendroid
Standalone
Driver

Selendroid-standalone

Android SDK

USB

Mobile WebDriver Selendroid

29
SELENDROID ARCHITECTURE

Mobile WebDriver Selendroid

30
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

31
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

32
SELENDROID INSPECTOR IN ACTION

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

33
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

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

An iPhone app test

An Android app test

Mobile WebDriver Selendroid

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

Mobile WebDriver Selendroid

37
WE ARE LOOKING
FOR
CONTRIBUTORS

Mobile WebDriver Selendroid

38
Thank You!
Questions or Comments?

Michael Palotas
Email: mpalotas@ebay.com

Dominik Dary

Fork us at Github:

Email: ddary@ebay.com
Twitter: @dominikdary

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

Mobile WebDriver Selendroid

Mais conteúdo relacionado

Mais procurados

STP 2014 - Lets Learn from the Top Performance Mistakes in 2013
STP 2014 - Lets Learn from the Top Performance Mistakes in 2013STP 2014 - Lets Learn from the Top Performance Mistakes in 2013
STP 2014 - Lets Learn from the Top Performance Mistakes in 2013Andreas Grabner
 
Browserscope oscon 2011
Browserscope oscon 2011Browserscope oscon 2011
Browserscope oscon 2011lsimon
 
Testing your Single Page Application
Testing your Single Page ApplicationTesting your Single Page Application
Testing your Single Page ApplicationWekoslav Stefanovski
 
Bluemix - Deploying a Java Web Application
Bluemix - Deploying a Java Web ApplicationBluemix - Deploying a Java Web Application
Bluemix - Deploying a Java Web ApplicationCraig Trim
 
001. Introduction about React
001. Introduction about React001. Introduction about React
001. Introduction about ReactBinh Quan Duc
 
BP101: A Modernized Workflow w/ Domino/XPages
BP101: A Modernized Workflow w/ Domino/XPagesBP101: A Modernized Workflow w/ Domino/XPages
BP101: A Modernized Workflow w/ Domino/XPagesedm00se
 
Isomorphic web application
Isomorphic web applicationIsomorphic web application
Isomorphic web applicationOliver N
 
Rise of the responsive single page application
Rise of the responsive single page applicationRise of the responsive single page application
Rise of the responsive single page applicationOren Shatken
 
Demystifying Web Vitals
Demystifying Web VitalsDemystifying Web Vitals
Demystifying Web VitalsSamar Panda
 
Unit Testing Asp.net and Asp.net MVC
Unit Testing Asp.net and Asp.net MVCUnit Testing Asp.net and Asp.net MVC
Unit Testing Asp.net and Asp.net MVCGil Zilberfeld
 
Measuring the visual experience of website performance
Measuring the visual experience of website performanceMeasuring the visual experience of website performance
Measuring the visual experience of website performancePatrick Meenan
 
ClojureScript: I can't believe this is JavaScript
ClojureScript: I can't believe this is JavaScriptClojureScript: I can't believe this is JavaScript
ClojureScript: I can't believe this is JavaScriptEric Normand
 
Isomorphic React Applications: Performance And Scalability
Isomorphic React Applications: Performance And ScalabilityIsomorphic React Applications: Performance And Scalability
Isomorphic React Applications: Performance And ScalabilityDenis Izmaylov
 
Common design principles and design patterns in automation testing
Common design principles and design patterns in automation testingCommon design principles and design patterns in automation testing
Common design principles and design patterns in automation testingKMS Technology
 

Mais procurados (20)

STP 2014 - Lets Learn from the Top Performance Mistakes in 2013
STP 2014 - Lets Learn from the Top Performance Mistakes in 2013STP 2014 - Lets Learn from the Top Performance Mistakes in 2013
STP 2014 - Lets Learn from the Top Performance Mistakes in 2013
 
Browserscope oscon 2011
Browserscope oscon 2011Browserscope oscon 2011
Browserscope oscon 2011
 
Codegen2021 blazor mobile
Codegen2021 blazor mobileCodegen2021 blazor mobile
Codegen2021 blazor mobile
 
Power Training DevDays 2009
Power Training DevDays 2009Power Training DevDays 2009
Power Training DevDays 2009
 
Testing your Single Page Application
Testing your Single Page ApplicationTesting your Single Page Application
Testing your Single Page Application
 
Bluemix - Deploying a Java Web Application
Bluemix - Deploying a Java Web ApplicationBluemix - Deploying a Java Web Application
Bluemix - Deploying a Java Web Application
 
001. Introduction about React
001. Introduction about React001. Introduction about React
001. Introduction about React
 
BP101: A Modernized Workflow w/ Domino/XPages
BP101: A Modernized Workflow w/ Domino/XPagesBP101: A Modernized Workflow w/ Domino/XPages
BP101: A Modernized Workflow w/ Domino/XPages
 
Isomorphic web application
Isomorphic web applicationIsomorphic web application
Isomorphic web application
 
Rise of the responsive single page application
Rise of the responsive single page applicationRise of the responsive single page application
Rise of the responsive single page application
 
Demystifying Web Vitals
Demystifying Web VitalsDemystifying Web Vitals
Demystifying Web Vitals
 
Unit Testing Asp.net and Asp.net MVC
Unit Testing Asp.net and Asp.net MVCUnit Testing Asp.net and Asp.net MVC
Unit Testing Asp.net and Asp.net MVC
 
Measuring the visual experience of website performance
Measuring the visual experience of website performanceMeasuring the visual experience of website performance
Measuring the visual experience of website performance
 
ASP.NET 5 & Unit Testing
ASP.NET 5 & Unit TestingASP.NET 5 & Unit Testing
ASP.NET 5 & Unit Testing
 
ClojureScript: I can't believe this is JavaScript
ClojureScript: I can't believe this is JavaScriptClojureScript: I can't believe this is JavaScript
ClojureScript: I can't believe this is JavaScript
 
Web vitals
Web vitalsWeb vitals
Web vitals
 
Sexy React Stack
Sexy React StackSexy React Stack
Sexy React Stack
 
Working in harmony
Working in harmonyWorking in harmony
Working in harmony
 
Isomorphic React Applications: Performance And Scalability
Isomorphic React Applications: Performance And ScalabilityIsomorphic React Applications: Performance And Scalability
Isomorphic React Applications: Performance And Scalability
 
Common design principles and design patterns in automation testing
Common design principles and design patterns in automation testingCommon design principles and design patterns in automation testing
Common design principles and design patterns in automation testing
 

Semelhante a Mobile WebDriver Selendroid

Mobile WebDriver Selendroid
Mobile WebDriver SelendroidMobile WebDriver Selendroid
Mobile WebDriver SelendroidDominik Dary
 
Native Android Development with Spring
Native Android Development with SpringNative Android Development with Spring
Native Android Development with SpringRoy Clarkson
 
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
 
Automated Acceptance Testing Example
Automated Acceptance Testing ExampleAutomated Acceptance Testing Example
Automated Acceptance Testing ExampleHani Massoud
 
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
 
Automating Hybrid Applications with Appium
Automating Hybrid Applications with AppiumAutomating Hybrid Applications with Appium
Automating Hybrid Applications with AppiumSauce Labs
 
Future of Mobile Web Application and Web App Store
Future of Mobile Web Application and Web App StoreFuture of Mobile Web Application and Web App Store
Future of Mobile Web Application and Web App StoreJonathan Jeon
 
Android Automation Testing with Selendroid
Android Automation Testing with SelendroidAndroid Automation Testing with Selendroid
Android Automation Testing with SelendroidVikas Thange
 
Selendroid in Action
Selendroid in ActionSelendroid in Action
Selendroid in ActionDominik Dary
 
Automated Mobile Testing using Appium.pdf
Automated Mobile Testing using Appium.pdfAutomated Mobile Testing using Appium.pdf
Automated Mobile Testing using Appium.pdfAnand722237
 
Experitest & Wipro Co-Webinar
Experitest & Wipro Co-Webinar Experitest & Wipro Co-Webinar
Experitest & Wipro Co-Webinar Experitest
 
2011 08-24 mobile web app
2011 08-24  mobile web app2011 08-24  mobile web app
2011 08-24 mobile web appSholto Maud
 
Android Test Automation – one year later
Android Test Automation – one year laterAndroid Test Automation – one year later
Android Test Automation – one year laterDominik Dary
 
A Definitive Guide to Mastering Selenium WebDriver Automation Effectively.pptx
A Definitive Guide to Mastering Selenium WebDriver Automation Effectively.pptxA Definitive Guide to Mastering Selenium WebDriver Automation Effectively.pptx
A Definitive Guide to Mastering Selenium WebDriver Automation Effectively.pptxMatthew Allen
 
Using-AngularJS-with-Sitefinity.pptx
Using-AngularJS-with-Sitefinity.pptxUsing-AngularJS-with-Sitefinity.pptx
Using-AngularJS-with-Sitefinity.pptxkisofe
 

Semelhante a 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
 
Power Mobile Apps with Sitecore
Power Mobile Apps with SitecorePower Mobile Apps with Sitecore
Power Mobile Apps with Sitecore
 
Appium solution artizone
Appium solution   artizoneAppium solution   artizone
Appium solution artizone
 
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]
 
Automated Acceptance Testing Example
Automated Acceptance Testing ExampleAutomated Acceptance Testing Example
Automated Acceptance Testing Example
 
Selenium topic 3 -Web Driver Basics
Selenium topic 3 -Web Driver BasicsSelenium topic 3 -Web Driver Basics
Selenium topic 3 -Web Driver Basics
 
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)
 
Automating Hybrid Applications with Appium
Automating Hybrid Applications with AppiumAutomating Hybrid Applications with Appium
Automating Hybrid Applications with Appium
 
Future of Mobile Web Application and Web App Store
Future of Mobile Web Application and Web App StoreFuture of Mobile Web Application and Web App Store
Future of Mobile Web Application and Web App Store
 
Android Automation Testing with Selendroid
Android Automation Testing with SelendroidAndroid Automation Testing with Selendroid
Android Automation Testing with Selendroid
 
ATAGTR2017 Appium
ATAGTR2017 AppiumATAGTR2017 Appium
ATAGTR2017 Appium
 
Neev AngularJS Capabilities
Neev AngularJS CapabilitiesNeev AngularJS Capabilities
Neev AngularJS Capabilities
 
Selendroid in Action
Selendroid in ActionSelendroid in Action
Selendroid in Action
 
Automated Mobile Testing using Appium.pdf
Automated Mobile Testing using Appium.pdfAutomated Mobile Testing using Appium.pdf
Automated Mobile Testing using Appium.pdf
 
Experitest & Wipro Co-Webinar
Experitest & Wipro Co-Webinar Experitest & Wipro Co-Webinar
Experitest & Wipro Co-Webinar
 
2011 08-24 mobile web app
2011 08-24  mobile web app2011 08-24  mobile web app
2011 08-24 mobile web app
 
Android Test Automation – one year later
Android Test Automation – one year laterAndroid Test Automation – one year later
Android Test Automation – one year later
 
A Definitive Guide to Mastering Selenium WebDriver Automation Effectively.pptx
A Definitive Guide to Mastering Selenium WebDriver Automation Effectively.pptxA Definitive Guide to Mastering Selenium WebDriver Automation Effectively.pptx
A Definitive Guide to Mastering Selenium WebDriver Automation Effectively.pptx
 
Using-AngularJS-with-Sitefinity.pptx
Using-AngularJS-with-Sitefinity.pptxUsing-AngularJS-with-Sitefinity.pptx
Using-AngularJS-with-Sitefinity.pptx
 

Mais de Michael Palotas

Berlin Selenium Meetup - Galen Framework
Berlin Selenium Meetup -  Galen FrameworkBerlin Selenium Meetup -  Galen Framework
Berlin Selenium Meetup - Galen FrameworkMichael Palotas
 
Selenium - The page object pattern
Selenium - The page object patternSelenium - The page object pattern
Selenium - The page object patternMichael Palotas
 
Berlin Selenium Meetup - A quick introduction to Selenium
Berlin Selenium Meetup - A quick introduction to SeleniumBerlin Selenium Meetup - A quick introduction to Selenium
Berlin Selenium Meetup - A quick introduction to SeleniumMichael Palotas
 
Zürich selenium meetup mobile and web automation under one umbrella
Zürich selenium meetup mobile and web automation under one umbrellaZürich selenium meetup mobile and web automation under one umbrella
Zürich selenium meetup mobile and web automation under one umbrellaMichael Palotas
 
Agile breakfast St. Gallen - Mindset. Skillset. Toolset
Agile breakfast St. Gallen - Mindset. Skillset. ToolsetAgile breakfast St. Gallen - Mindset. Skillset. Toolset
Agile breakfast St. Gallen - Mindset. Skillset. ToolsetMichael Palotas
 
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
 
Agile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopAgile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopMichael Palotas
 
Agile bodensee - Agile Testing: Bug prevention vs. bug detection
Agile bodensee - Agile Testing: Bug prevention vs. bug detectionAgile bodensee - Agile Testing: Bug prevention vs. bug detection
Agile bodensee - Agile Testing: Bug prevention vs. bug detectionMichael Palotas
 
Testing in the new world-bug prevention vs. bug detection
Testing in the new world-bug prevention vs. bug detectionTesting in the new world-bug prevention vs. bug detection
Testing in the new world-bug prevention vs. bug detectionMichael Palotas
 
Mobile test automation with Selenium, Selendroid and ios-driver
Mobile test automation with Selenium, Selendroid and ios-driverMobile test automation with Selenium, Selendroid and ios-driver
Mobile test automation with Selenium, Selendroid and ios-driverMichael Palotas
 
German Testing Day Keynote - Testing at ebay - a look at a rather unconvent...
German Testing Day Keynote  - Testing at ebay  - a look at a rather unconvent...German Testing Day Keynote  - Testing at ebay  - a look at a rather unconvent...
German Testing Day Keynote - Testing at ebay - a look at a rather unconvent...Michael Palotas
 
Scrum breakfast skillset_toolset_mindset
Scrum breakfast skillset_toolset_mindsetScrum breakfast skillset_toolset_mindset
Scrum breakfast skillset_toolset_mindsetMichael Palotas
 
EBAY - A LOOK BEHIND THE SCENES
EBAY -  A LOOK BEHIND THE SCENESEBAY -  A LOOK BEHIND THE SCENES
EBAY - A LOOK BEHIND THE SCENESMichael Palotas
 
JAVA User Group Bern - Selenium
JAVA User Group Bern  - SeleniumJAVA User Group Bern  - Selenium
JAVA User Group Bern - SeleniumMichael Palotas
 
Mobile Testing and Mobile Automation at eBay
Mobile Testing and Mobile Automation at eBayMobile Testing and Mobile Automation at eBay
Mobile Testing and Mobile Automation at eBayMichael Palotas
 
ebay @ Hasso Plattner Institut Potsdam
ebay @ Hasso Plattner Institut Potsdamebay @ Hasso Plattner Institut Potsdam
ebay @ Hasso Plattner Institut PotsdamMichael Palotas
 
How we Test at eBay Europe
How we Test at eBay EuropeHow we Test at eBay Europe
How we Test at eBay EuropeMichael Palotas
 
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learned
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learnedSwiss Testing Day - Testautomation, 10 (sometimes painful) lessons learned
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learnedMichael Palotas
 
Implementing Test Automation in Agile Projects
Implementing Test Automation in Agile ProjectsImplementing Test Automation in Agile Projects
Implementing Test Automation in Agile ProjectsMichael Palotas
 
Test Automation and Innovation with Open Source Tools
Test Automation and Innovation with Open Source ToolsTest Automation and Innovation with Open Source Tools
Test Automation and Innovation with Open Source ToolsMichael Palotas
 

Mais de Michael Palotas (20)

Berlin Selenium Meetup - Galen Framework
Berlin Selenium Meetup -  Galen FrameworkBerlin Selenium Meetup -  Galen Framework
Berlin Selenium Meetup - Galen Framework
 
Selenium - The page object pattern
Selenium - The page object patternSelenium - The page object pattern
Selenium - The page object pattern
 
Berlin Selenium Meetup - A quick introduction to Selenium
Berlin Selenium Meetup - A quick introduction to SeleniumBerlin Selenium Meetup - A quick introduction to Selenium
Berlin Selenium Meetup - A quick introduction to Selenium
 
Zürich selenium meetup mobile and web automation under one umbrella
Zürich selenium meetup mobile and web automation under one umbrellaZürich selenium meetup mobile and web automation under one umbrella
Zürich selenium meetup mobile and web automation under one umbrella
 
Agile breakfast St. Gallen - Mindset. Skillset. Toolset
Agile breakfast St. Gallen - Mindset. Skillset. ToolsetAgile breakfast St. Gallen - Mindset. Skillset. Toolset
Agile breakfast St. Gallen - Mindset. Skillset. Toolset
 
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
 
Agile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopAgile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery Workshop
 
Agile bodensee - Agile Testing: Bug prevention vs. bug detection
Agile bodensee - Agile Testing: Bug prevention vs. bug detectionAgile bodensee - Agile Testing: Bug prevention vs. bug detection
Agile bodensee - Agile Testing: Bug prevention vs. bug detection
 
Testing in the new world-bug prevention vs. bug detection
Testing in the new world-bug prevention vs. bug detectionTesting in the new world-bug prevention vs. bug detection
Testing in the new world-bug prevention vs. bug detection
 
Mobile test automation with Selenium, Selendroid and ios-driver
Mobile test automation with Selenium, Selendroid and ios-driverMobile test automation with Selenium, Selendroid and ios-driver
Mobile test automation with Selenium, Selendroid and ios-driver
 
German Testing Day Keynote - Testing at ebay - a look at a rather unconvent...
German Testing Day Keynote  - Testing at ebay  - a look at a rather unconvent...German Testing Day Keynote  - Testing at ebay  - a look at a rather unconvent...
German Testing Day Keynote - Testing at ebay - a look at a rather unconvent...
 
Scrum breakfast skillset_toolset_mindset
Scrum breakfast skillset_toolset_mindsetScrum breakfast skillset_toolset_mindset
Scrum breakfast skillset_toolset_mindset
 
EBAY - A LOOK BEHIND THE SCENES
EBAY -  A LOOK BEHIND THE SCENESEBAY -  A LOOK BEHIND THE SCENES
EBAY - A LOOK BEHIND THE SCENES
 
JAVA User Group Bern - Selenium
JAVA User Group Bern  - SeleniumJAVA User Group Bern  - Selenium
JAVA User Group Bern - Selenium
 
Mobile Testing and Mobile Automation at eBay
Mobile Testing and Mobile Automation at eBayMobile Testing and Mobile Automation at eBay
Mobile Testing and Mobile Automation at eBay
 
ebay @ Hasso Plattner Institut Potsdam
ebay @ Hasso Plattner Institut Potsdamebay @ Hasso Plattner Institut Potsdam
ebay @ Hasso Plattner Institut Potsdam
 
How we Test at eBay Europe
How we Test at eBay EuropeHow we Test at eBay Europe
How we Test at eBay Europe
 
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learned
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learnedSwiss Testing Day - Testautomation, 10 (sometimes painful) lessons learned
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learned
 
Implementing Test Automation in Agile Projects
Implementing Test Automation in Agile ProjectsImplementing Test Automation in Agile Projects
Implementing Test Automation in Agile Projects
 
Test Automation and Innovation with Open Source Tools
Test Automation and Innovation with Open Source ToolsTest Automation and Innovation with Open Source Tools
Test Automation and Innovation with Open Source Tools
 

Último

Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
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
 

Último (20)

Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
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...
 

Mobile WebDriver Selendroid

  • 1. Mobile WebDriver Selendroid Michael Palotas & Dominik Dary Productivity & Test Engineering Europe 2014-01-17 Nokia Here Unconference
  • 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. MICHAEL PALOTAS - EBAY INTERNATIONAL 4
  • 5. EBAY INC. FACTS • Founded in 1995 • Based in San Jose, California • ~30000 Employees worldwide Mobile WebDriver Selendroid 5
  • 6. 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 6
  • 7. WHO ARE WE? Michael Palotas Head of Productivity & Test Engineering Dominik Dary Software Engineer SELENIUM FOR MOBILE 7
  • 8. 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 8
  • 10. WHAT IS SELENIUM? Selenium automates browsers that’s it Mobile WebDriver Selendroid 10
  • 11. WHAT DO WE DO WITH SELENIUM? End to End functional test automation Manual Tests Selenium space E2E Test s Integration Tests Unit Tests Mobile WebDriver Selendroid 11
  • 13. 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 13
  • 14. SERVER • Receives HTTP requests • Start and teardown of browser • Translates requests into browser specific commands • Communicates back to the client Mobile WebDriver Selendroid 14
  • 15. SCALING USING SELENIUM GRID Client Client CI server GRID Hub server server Mobile WebDriver Selendroid 15
  • 16. 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 Start the Test Suite via Brower End-to-End Tests 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 16
  • 17. 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 • No jailbreak / rooting of devices Mobile WebDriver Selendroid 17
  • 18. ANOTHER AUTOMATION TOOL? Android iOS •  Calabashandroid •  Robotium •  Appium •  UiAutomator •  Espresso •  Calabash-ios •  Frank •  UIAutomation •  Appium •  KeepItFunctional Selendroid & ios-driver Mobile WebDriver Selendroid 18
  • 20. 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 20
  • 21. 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 • Interacts simultaneously with multiple Android devices • Supports hot plugging of hardware devices • Selenium Grid Support for scaling • Advanced Gestures are supported • Built in Inspector to simplify test case development Mobile WebDriver Selendroid 21
  • 22. CLIENT / SERVER ARCHITECTURE MOBILE BROWSER CLIENT JSON Wire Protocol SERVER selendroid ios-driver Mobile WebDriver Selendroid 22
  • 23. TESTING NATIVE APPS • Elements are found by locators • Found element are used for different interactions • Example Mobile WebDriver Selendroid 23
  • 25. TESTING HYBRID APPS • Built in support for testing WebViews with WebDriver • Example: Mobile WebDriver Selendroid 25
  • 27. TESTING MOBILE WEB • Built in support for testing Mobile Web with AndroidDriver-App • Official replacement of Selenium’s AndroidDriver • Example: Mobile WebDriver Selendroid 27
  • 29. SELENDROID ARCHITECTURE WebDriver Client HTTP HTTP & WebDriver JSON wire protocol Selendroid Standalone Driver Selendroid-standalone Android SDK USB Mobile WebDriver Selendroid 29
  • 31. 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 31
  • 32. 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 32
  • 33. SELENDROID INSPECTOR IN ACTION http://youtu.be/JKZeF3eHljo Mobile WebDriver Selendroid 33
  • 35. 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 35
  • 36. SAME API FOR WEB AND MOBILE A regular Web Test Case An iPhone app test An Android app test Mobile WebDriver Selendroid 36
  • 37. CROSS PLATFORM DEMO Uses an iOS app, web page and an Android app in one scenario. Mobile WebDriver Selendroid 37
  • 38. WE ARE LOOKING FOR CONTRIBUTORS Mobile WebDriver Selendroid 38
  • 39. Thank You! Questions or Comments? Michael Palotas Email: mpalotas@ebay.com Dominik Dary Fork us at Github: Email: ddary@ebay.com Twitter: @dominikdary - http://selendroid.io - http://github.com/ios-driver Mobile WebDriver Selendroid