Your SlideShare is downloading. ×
0
Mobile WebDriver
Selendroid

Michael Palotas & Dominik Dary
Productivity & Test Engineering Europe
2014-01-17 Nokia Here U...
AGENDA
1.  Facts about eBay
2.  Selenium
3.  Mobile Automation Requirements
4.  Selendroid
5.  Borderless Test Automation
...
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 Selendroi...
MOBILE FACTS
Mobile Facts

Mobile Fun Facts

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

Every 15 seconds, a pair of ladies ...
WHO ARE WE?

Michael Palotas
Head of Productivity & Test Engineering

Dominik Dary
Software Engineer

SELENIUM FOR MOBILE
...
DISCLAIMER
• Test Automation is Software Development
• End-to-End Tests are slow
• Perfect vs. Good Enough – A Context whe...
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 Te...
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 w...
SERVER
• Receives HTTP requests
• Start and teardown of browser
• Translates requests into browser specific commands
• Com...
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...
MOBILE AUTOMATION REQUIREMENTS
• Use the same approach and infrastructure as web
• Use the Load Balancer / Resource Manage...
ANOTHER AUTOMATION TOOL?

Android

iOS

•  Calabashandroid
•  Robotium
•  Appium
•  UiAutomator
•  Espresso

•  Calabash-i...
MOBILE WEBDRIVER
SELENDROID
SELENDROID
Open sourced on github:
– https://github.com/selendroid
Documentation:
• https://selendroid.io
Committers:
– eB...
SELENDROID FEATURES

• The only mobile WebDriver that supports native &
hybrid apps and testing the mobile web on Android
...
CLIENT / SERVER ARCHITECTURE

MOBILE
BROWSER
CLIENT

JSON Wire Protocol

SERVER

selendroid
ios-driver
Mobile WebDriver Se...
TESTING NATIVE APPS
• Elements are found by locators
• Found element are used for different
interactions
• Example

Mobile...
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
A...
MOBLE WEB DEMO
http://goo.gl/41uvAx

Mobile WebDriver Selendroid

28
SELENDROID ARCHITECTURE

WebDriver
Client

HTTP

HTTP & WebDriver
JSON wire protocol

Selendroid
Standalone
Driver

Selend...
SELENDROID ARCHITECTURE

Mobile WebDriver Selendroid

30
TEST: DEVICE VS. EMULATOR

• Hardware devices and Emulators can be used
• Hardware devices are much faster
• Android devic...
SELENDROID INSPECTOR
• View hierarchy
• View UI element properties
• UI screenshot with view locator
• Record the click ac...
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...
SAME API FOR WEB AND MOBILE
A regular Web Test Case

An iPhone app test

An Android app test

Mobile WebDriver Selendroid
...
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: ddar...
Upcoming SlideShare
Loading in...5
×

Mobile WebDriver Selendroid

3,208

Published on

Published in: Technology

Transcript of "Mobile WebDriver Selendroid"

  1. 1. Mobile WebDriver Selendroid Michael Palotas & Dominik Dary Productivity & Test Engineering Europe 2014-01-17 Nokia Here Unconference
  2. 2. AGENDA 1.  Facts about eBay 2.  Selenium 3.  Mobile Automation Requirements 4.  Selendroid 5.  Borderless Test Automation Mobile WebDriver Selendroid 2
  3. 3. FACTS ABOUT EBAY
  4. 4. EBAY INC. MICHAEL PALOTAS - EBAY INTERNATIONAL 4
  5. 5. EBAY INC. FACTS • Founded in 1995 • Based in San Jose, California • ~30000 Employees worldwide Mobile WebDriver Selendroid 5
  6. 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. 7. WHO ARE WE? Michael Palotas Head of Productivity & Test Engineering Dominik Dary Software Engineer SELENIUM FOR MOBILE 7
  8. 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
  9. 9. SELENIUM
  10. 10. WHAT IS SELENIUM? Selenium automates browsers that’s it Mobile WebDriver Selendroid 10
  11. 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
  12. 12. SELENIUM JSON WIRE PROTOCOL Client Server Ruby Python Java C# i.e. Firefox driver Mobile WebDriver Selendroid 12
  13. 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. 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. 15. SCALING USING SELENIUM GRID Client Client CI server GRID Hub server server Mobile WebDriver Selendroid 15
  16. 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. 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. 18. ANOTHER AUTOMATION TOOL? Android iOS •  Calabashandroid •  Robotium •  Appium •  UiAutomator •  Espresso •  Calabash-ios •  Frank •  UIAutomation •  Appium •  KeepItFunctional Selendroid & ios-driver Mobile WebDriver Selendroid 18
  19. 19. MOBILE WEBDRIVER SELENDROID
  20. 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. 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. 22. CLIENT / SERVER ARCHITECTURE MOBILE BROWSER CLIENT JSON Wire Protocol SERVER selendroid ios-driver Mobile WebDriver Selendroid 22
  23. 23. TESTING NATIVE APPS • Elements are found by locators • Found element are used for different interactions • Example Mobile WebDriver Selendroid 23
  24. 24. NATIVE DEMO http://youtu.be/074BnGV0mS0 Mobile WebDriver Selendroid 24
  25. 25. TESTING HYBRID APPS • Built in support for testing WebViews with WebDriver • Example: Mobile WebDriver Selendroid 25
  26. 26. HYBRID DEMO http://youtu.be/FGsKI6esKpw Mobile WebDriver Selendroid 26
  27. 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
  28. 28. MOBLE WEB DEMO http://goo.gl/41uvAx Mobile WebDriver Selendroid 28
  29. 29. SELENDROID ARCHITECTURE WebDriver Client HTTP HTTP & WebDriver JSON wire protocol Selendroid Standalone Driver Selendroid-standalone Android SDK USB Mobile WebDriver Selendroid 29
  30. 30. SELENDROID ARCHITECTURE Mobile WebDriver Selendroid 30
  31. 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. 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. 33. SELENDROID INSPECTOR IN ACTION http://youtu.be/JKZeF3eHljo Mobile WebDriver Selendroid 33
  34. 34. BORDERLESS TEST AUTOMATION
  35. 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. 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. 37. CROSS PLATFORM DEMO Uses an iOS app, web page and an Android app in one scenario. Mobile WebDriver Selendroid 37
  38. 38. WE ARE LOOKING FOR CONTRIBUTORS Mobile WebDriver Selendroid 38
  39. 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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×