SlideShare a Scribd company logo
Selendroid - Selenium for Android 
Dominik Dary 
Google Test Automation Conference 2014
Who am I? 
Dominik Dary 
Engineering Manager @ 
Twitter: @dominikdary 
Github: http://github.com/dominikdary 
Disclaimer: My Opinions are my own.
Selendroid 
Open sourced on github: 
– https://github.com/selendroid 
Documentation: 
– https://selendroid.io 
Main Committers: 
– eBay, Salesforce and Facebook 
Getting help 
– IRC : #selendroid on freenode 
Android Test Automation
Features 
– The only mobile WebDriver that supports native & hybrid apps 
and testing the mobile web on Android versions (API 10 to 19) 
– Full compatibility with the JSON Wire Protocol. 
– The app under test must not be modified 
– No jailbreak / rooting of devices 
– Interacts simultaneously with multiple Android devices 
– Supports hot plugging of hardware devices 
– Advanced Gestures are supported
Testing In Action 
Native Hybrid Mobile Web 
WebElement button = driver.findElement( 
By.id("startUserRegistration")); 
button.click(); 
WebElement nameInput = 
driver.findElement(By.id("inputName")); 
Assert.assertEquals( 
nameInput.getText(), "Mr. Burns"); 
nameInput.clear(); 
nameInput.sendKeys("GTAC 2014"); 
// Switch to the web view context 
driver.context("WEBVIEW"); 
String vpOfEngineering = "John Williams"; 
WebElement searchBox = 
driver.findElement(By.tagName("input")); 
searchBox.sendKeys(vpOfEngineering); 
driver.findElement( 
By.partialLinkText(vpOfEngineering)). 
click(); 
WebDriver driver = 
new RemoteWebDriver( 
DesiredCapabilities.android()); 
driver.get("http://m.ebay.de"); 
WebElement element = 
driver.findElement( 
By.id("kw")); 
element.sendKeys("Nexus 6"); 
element.submit();
Selendroid Inspector 
• View hierarchy 
• View UI element properties 
• UI screenshot with view 
locator 
• Record the click actions 
• View HTML of a web view 
• XPath helper 
Demo: http://youtu.be/JKZeF3eHljo 
Android Test Automation
Multi Touch Support 
• Single finger example: 
TouchAction ta = new TouchActionBuilder().pointerDown(). 
pointerMove(x, y).pointerUp().build(); 
driver.getMultiTouchScreen().executeAction(ta); 
• Multi finger example (these will be executed in parallel): 
TouchAction finger1 = new TouchActionBuilder().pointerDown().pause(100). 
pointerMove(x, y).pointerUp().build(); 
TouchAction finger2 = new TouchActionBuilder().pointerDown().pause(100). 
pointerMove(x, y).pointerUp().build(); MultiTouchAction multiAction = new 
MultiTouchAction(finger1, finger2); 
driver.getMultiTouchScreen().executeAction(multiAction);
Extend Selendroid at Runtime 
• First Mobile Test Automation Project that can be extended with 
your own code at runtime! 
• Implement it: 
• Build it
Use Your Selendroid Extension
Scaling using the Selenium Grid 
Android Test Automation 
Client 
Client GRID Hub server 
CI 
server 
server
There is one more thing 
We are proud to announce that we have shipped: 
Selendroid 0.12.0
Thank You! 
Questions or Comments?
Selendroid in Action 
– Native Demo: http://youtu.be/074BnGV0mS0 
– Hybrid Demo: http://youtu.be/FGsKI6esKpw 
– Mobile Web Demo: http://goo.gl/41uvAx 
– Selendroid Article: 
http://www.methodsandtools.com/tools/selendroid.php 
Android Test Automation

More Related Content

What's hot

Cross Platform Appium Tests: How To
Cross Platform Appium Tests: How ToCross Platform Appium Tests: How To
Cross Platform Appium Tests: How To
GlobalLogic Ukraine
 
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
Ambreen Khan
 
ATAGTR2017 Upgrading a mobile tester's weapons with advanced debugging
ATAGTR2017 Upgrading a mobile tester's weapons with advanced debuggingATAGTR2017 Upgrading a mobile tester's weapons with advanced debugging
ATAGTR2017 Upgrading a mobile tester's weapons with advanced debugging
Agile Testing Alliance
 
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
 
Getting started with appium
Getting started with appiumGetting started with appium
Getting started with appium
Pratik Patel
 
Selenium IDE Tutorial For Beginners | Selenium IDE Tutorial | What Is Seleniu...
Selenium IDE Tutorial For Beginners | Selenium IDE Tutorial | What Is Seleniu...Selenium IDE Tutorial For Beginners | Selenium IDE Tutorial | What Is Seleniu...
Selenium IDE Tutorial For Beginners | Selenium IDE Tutorial | What Is Seleniu...
Simplilearn
 
Android & iOS Automation Using Appium
Android & iOS Automation Using AppiumAndroid & iOS Automation Using Appium
Android & iOS Automation Using Appium
Mindfire Solutions
 
Mobile Automation with Appium
Mobile Automation with AppiumMobile Automation with Appium
Mobile Automation with Appium
Manoj Kumar Kumar
 
Appium: Mobile Automation Made Awesome
Appium: Mobile Automation Made AwesomeAppium: Mobile Automation Made Awesome
Appium: Mobile Automation Made Awesome
Netcetera
 
Selenium Overview
Selenium OverviewSelenium Overview
Selenium Overview
Abhijeet Vaikar
 
Continous UI testing with Espresso and Jenkins
Continous UI testing with Espresso and JenkinsContinous UI testing with Espresso and Jenkins
Continous UI testing with Espresso and Jenkins
Sylwester Madej
 
Vietnam qa meetup
Vietnam qa meetupVietnam qa meetup
Vietnam qa meetup
Syam Sasi
 
Automated UI Testing Frameworks
Automated UI Testing FrameworksAutomated UI Testing Frameworks
Automated UI Testing Frameworks
TestObject - Mobile Testing
 
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
Bitbar
 
An Overview of Selenium
An Overview of SeleniumAn Overview of Selenium
An Overview of Selenium
adamcarmi
 
Appium workshop technopark trivandrum
Appium workshop technopark trivandrumAppium workshop technopark trivandrum
Appium workshop technopark trivandrum
Syam Sasi
 
Calabash my understanding
Calabash my understandingCalabash my understanding
Calabash my understanding
FARHAN SUMBUL
 
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 WebDriver
Andrii Dzynia
 
Android 3.0 Portland Java User Group 2011-03-15
Android 3.0 Portland Java User Group 2011-03-15Android 3.0 Portland Java User Group 2011-03-15
Android 3.0 Portland Java User Group 2011-03-15
sullis
 

What's hot (20)

Cross Platform Appium Tests: How To
Cross Platform Appium Tests: How ToCross Platform Appium Tests: How To
Cross Platform Appium Tests: How To
 
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
 
ATAGTR2017 Upgrading a mobile tester's weapons with advanced debugging
ATAGTR2017 Upgrading a mobile tester's weapons with advanced debuggingATAGTR2017 Upgrading a mobile tester's weapons with advanced debugging
ATAGTR2017 Upgrading a mobile tester's weapons with advanced debugging
 
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?
 
Getting started with appium
Getting started with appiumGetting started with appium
Getting started with appium
 
Selenium IDE Tutorial For Beginners | Selenium IDE Tutorial | What Is Seleniu...
Selenium IDE Tutorial For Beginners | Selenium IDE Tutorial | What Is Seleniu...Selenium IDE Tutorial For Beginners | Selenium IDE Tutorial | What Is Seleniu...
Selenium IDE Tutorial For Beginners | Selenium IDE Tutorial | What Is Seleniu...
 
Android & iOS Automation Using Appium
Android & iOS Automation Using AppiumAndroid & iOS Automation Using Appium
Android & iOS Automation Using Appium
 
Mobile Automation with Appium
Mobile Automation with AppiumMobile Automation with Appium
Mobile Automation with Appium
 
Appium: Mobile Automation Made Awesome
Appium: Mobile Automation Made AwesomeAppium: Mobile Automation Made Awesome
Appium: Mobile Automation Made Awesome
 
Selenium Overview
Selenium OverviewSelenium Overview
Selenium Overview
 
Continous UI testing with Espresso and Jenkins
Continous UI testing with Espresso and JenkinsContinous UI testing with Espresso and Jenkins
Continous UI testing with Espresso and Jenkins
 
Vietnam qa meetup
Vietnam qa meetupVietnam qa meetup
Vietnam qa meetup
 
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
 
An Overview of Selenium
An Overview of SeleniumAn Overview of Selenium
An Overview of Selenium
 
Appium workshop technopark trivandrum
Appium workshop technopark trivandrumAppium workshop technopark trivandrum
Appium workshop technopark trivandrum
 
Calabash my understanding
Calabash my understandingCalabash my understanding
Calabash my understanding
 
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 Mobile Test Automation like WebDriver
Appium Mobile Test Automation like WebDriverAppium Mobile Test Automation like WebDriver
Appium Mobile Test Automation like WebDriver
 
Android 3.0 Portland Java User Group 2011-03-15
Android 3.0 Portland Java User Group 2011-03-15Android 3.0 Portland Java User Group 2011-03-15
Android 3.0 Portland Java User Group 2011-03-15
 

Similar to Selendroid - Selenium for Android

Mobile Testing with Selenium 2 by Jason Huggins
Mobile Testing with Selenium 2 by Jason HugginsMobile Testing with Selenium 2 by Jason Huggins
Mobile Testing with Selenium 2 by Jason Huggins
Sauce Labs
 
selenium-2-mobile-web-testing
selenium-2-mobile-web-testingselenium-2-mobile-web-testing
selenium-2-mobile-web-testing
hugs
 
Rockstar Android Testing (Mobile TechCon Munich 2014)
Rockstar Android Testing (Mobile TechCon Munich 2014)Rockstar Android Testing (Mobile TechCon Munich 2014)
Rockstar Android Testing (Mobile TechCon Munich 2014)
Danny Preussler
 
Whats New in Android
Whats New in AndroidWhats New in Android
Whats New in Android
donnfelker
 
Android accessibility for developers and QA
Android accessibility for developers and QAAndroid accessibility for developers and QA
Android accessibility for developers and QA
Ted Drake
 
MOPCON 2014 - Best software architecture in app development
MOPCON 2014 - Best software architecture in app developmentMOPCON 2014 - Best software architecture in app development
MOPCON 2014 - Best software architecture in app development
anistar sung
 
iOS and Android apps automation
iOS and Android apps automationiOS and Android apps automation
iOS and Android apps automation
Sridhar Ramakrishnan
 
Building html5 apps using Cordova
Building html5 apps using Cordova Building html5 apps using Cordova
Building html5 apps using Cordova
David Voyles
 
Gradle for Android Developers
Gradle for Android DevelopersGradle for Android Developers
Gradle for Android Developers
Josiah Renaudin
 
Xam expertday
Xam expertdayXam expertday
Xam expertday
Codrina Merigo
 
Google I/O 2011, Android Honeycomb Highlights
Google I/O 2011, Android Honeycomb HighlightsGoogle I/O 2011, Android Honeycomb Highlights
Google I/O 2011, Android Honeycomb Highlights
Romain Guy
 
Philip Shurpik "Architecting React Native app"
Philip Shurpik "Architecting React Native app"Philip Shurpik "Architecting React Native app"
Philip Shurpik "Architecting React Native app"
Fwdays
 
jQuery State of the Union - Yehuda Katz
jQuery State of the Union - Yehuda KatzjQuery State of the Union - Yehuda Katz
jQuery State of the Union - Yehuda Katz
Marakana Inc.
 
Mobile developer is Software developer
Mobile developer is Software developerMobile developer is Software developer
Mobile developer is Software developer
Eugen Martynov
 
Android Workshop
Android WorkshopAndroid Workshop
Android Workshop
Junda Ong
 
Top100summit 谷歌-scott-improve your automated web application testing
Top100summit  谷歌-scott-improve your automated web application testingTop100summit  谷歌-scott-improve your automated web application testing
Top100summit 谷歌-scott-improve your automated web application testing
drewz lin
 
The fundamental problems of GUI applications and why people choose React
The fundamental problems of GUI applications and why people choose ReactThe fundamental problems of GUI applications and why people choose React
The fundamental problems of GUI applications and why people choose React
Oliver N
 
All a flutter about Flutter.io
All a flutter about Flutter.ioAll a flutter about Flutter.io
All a flutter about Flutter.io
Steven Cooper
 
Android UI Testing with Appium
Android UI Testing with AppiumAndroid UI Testing with Appium
Android UI Testing with Appium
Luke Maung
 
AngularJS training - Day 1 - Basics: Why, What and basic features of AngularJS
AngularJS training - Day 1 - Basics: Why, What and basic features of AngularJSAngularJS training - Day 1 - Basics: Why, What and basic features of AngularJS
AngularJS training - Day 1 - Basics: Why, What and basic features of AngularJS
murtazahaveliwala
 

Similar to Selendroid - Selenium for Android (20)

Mobile Testing with Selenium 2 by Jason Huggins
Mobile Testing with Selenium 2 by Jason HugginsMobile Testing with Selenium 2 by Jason Huggins
Mobile Testing with Selenium 2 by Jason Huggins
 
selenium-2-mobile-web-testing
selenium-2-mobile-web-testingselenium-2-mobile-web-testing
selenium-2-mobile-web-testing
 
Rockstar Android Testing (Mobile TechCon Munich 2014)
Rockstar Android Testing (Mobile TechCon Munich 2014)Rockstar Android Testing (Mobile TechCon Munich 2014)
Rockstar Android Testing (Mobile TechCon Munich 2014)
 
Whats New in Android
Whats New in AndroidWhats New in Android
Whats New in Android
 
Android accessibility for developers and QA
Android accessibility for developers and QAAndroid accessibility for developers and QA
Android accessibility for developers and QA
 
MOPCON 2014 - Best software architecture in app development
MOPCON 2014 - Best software architecture in app developmentMOPCON 2014 - Best software architecture in app development
MOPCON 2014 - Best software architecture in app development
 
iOS and Android apps automation
iOS and Android apps automationiOS and Android apps automation
iOS and Android apps automation
 
Building html5 apps using Cordova
Building html5 apps using Cordova Building html5 apps using Cordova
Building html5 apps using Cordova
 
Gradle for Android Developers
Gradle for Android DevelopersGradle for Android Developers
Gradle for Android Developers
 
Xam expertday
Xam expertdayXam expertday
Xam expertday
 
Google I/O 2011, Android Honeycomb Highlights
Google I/O 2011, Android Honeycomb HighlightsGoogle I/O 2011, Android Honeycomb Highlights
Google I/O 2011, Android Honeycomb Highlights
 
Philip Shurpik "Architecting React Native app"
Philip Shurpik "Architecting React Native app"Philip Shurpik "Architecting React Native app"
Philip Shurpik "Architecting React Native app"
 
jQuery State of the Union - Yehuda Katz
jQuery State of the Union - Yehuda KatzjQuery State of the Union - Yehuda Katz
jQuery State of the Union - Yehuda Katz
 
Mobile developer is Software developer
Mobile developer is Software developerMobile developer is Software developer
Mobile developer is Software developer
 
Android Workshop
Android WorkshopAndroid Workshop
Android Workshop
 
Top100summit 谷歌-scott-improve your automated web application testing
Top100summit  谷歌-scott-improve your automated web application testingTop100summit  谷歌-scott-improve your automated web application testing
Top100summit 谷歌-scott-improve your automated web application testing
 
The fundamental problems of GUI applications and why people choose React
The fundamental problems of GUI applications and why people choose ReactThe fundamental problems of GUI applications and why people choose React
The fundamental problems of GUI applications and why people choose React
 
All a flutter about Flutter.io
All a flutter about Flutter.ioAll a flutter about Flutter.io
All a flutter about Flutter.io
 
Android UI Testing with Appium
Android UI Testing with AppiumAndroid UI Testing with Appium
Android UI Testing with Appium
 
AngularJS training - Day 1 - Basics: Why, What and basic features of AngularJS
AngularJS training - Day 1 - Basics: Why, What and basic features of AngularJSAngularJS training - Day 1 - Basics: Why, What and basic features of AngularJS
AngularJS training - Day 1 - Basics: Why, What and basic features of AngularJS
 

More from Dominik Dary

Applied Testing Heuristics in the Context of eBay
Applied Testing Heuristics in the Context of eBayApplied Testing Heuristics in the Context of eBay
Applied Testing Heuristics in the Context of eBay
Dominik Dary
 
Functional tests with the FEST framework
Functional tests with the FEST frameworkFunctional tests with the FEST framework
Functional tests with the FEST framework
Dominik Dary
 
Calabash Driver Lightning Talk from the mobile test summit.
Calabash Driver Lightning Talk from the mobile test summit.Calabash Driver Lightning Talk from the mobile test summit.
Calabash Driver Lightning Talk from the mobile test summit.
Dominik Dary
 
Agile Testing at eBay
Agile Testing at eBayAgile Testing at eBay
Agile Testing at eBay
Dominik Dary
 
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
Dominik Dary
 
Implementing Test Automation in Agile Projects
Implementing Test Automation in Agile ProjectsImplementing Test Automation in Agile Projects
Implementing Test Automation in Agile Projects
Dominik 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 Tools
Dominik Dary
 

More from Dominik Dary (7)

Applied Testing Heuristics in the Context of eBay
Applied Testing Heuristics in the Context of eBayApplied Testing Heuristics in the Context of eBay
Applied Testing Heuristics in the Context of eBay
 
Functional tests with the FEST framework
Functional tests with the FEST frameworkFunctional tests with the FEST framework
Functional tests with the FEST framework
 
Calabash Driver Lightning Talk from the mobile test summit.
Calabash Driver Lightning Talk from the mobile test summit.Calabash Driver Lightning Talk from the mobile test summit.
Calabash Driver Lightning Talk from the mobile test summit.
 
Agile Testing at eBay
Agile Testing at eBayAgile Testing at eBay
Agile Testing at eBay
 
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
 
Implementing Test Automation in Agile Projects
Implementing Test Automation in Agile ProjectsImplementing Test Automation in Agile Projects
Implementing Test Automation in Agile Projects
 
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
 

Selendroid - Selenium for Android

  • 1. Selendroid - Selenium for Android Dominik Dary Google Test Automation Conference 2014
  • 2. Who am I? Dominik Dary Engineering Manager @ Twitter: @dominikdary Github: http://github.com/dominikdary Disclaimer: My Opinions are my own.
  • 3. Selendroid Open sourced on github: – https://github.com/selendroid Documentation: – https://selendroid.io Main Committers: – eBay, Salesforce and Facebook Getting help – IRC : #selendroid on freenode Android Test Automation
  • 4. Features – The only mobile WebDriver that supports native & hybrid apps and testing the mobile web on Android versions (API 10 to 19) – Full compatibility with the JSON Wire Protocol. – The app under test must not be modified – No jailbreak / rooting of devices – Interacts simultaneously with multiple Android devices – Supports hot plugging of hardware devices – Advanced Gestures are supported
  • 5. Testing In Action Native Hybrid Mobile Web WebElement button = driver.findElement( By.id("startUserRegistration")); button.click(); WebElement nameInput = driver.findElement(By.id("inputName")); Assert.assertEquals( nameInput.getText(), "Mr. Burns"); nameInput.clear(); nameInput.sendKeys("GTAC 2014"); // Switch to the web view context driver.context("WEBVIEW"); String vpOfEngineering = "John Williams"; WebElement searchBox = driver.findElement(By.tagName("input")); searchBox.sendKeys(vpOfEngineering); driver.findElement( By.partialLinkText(vpOfEngineering)). click(); WebDriver driver = new RemoteWebDriver( DesiredCapabilities.android()); driver.get("http://m.ebay.de"); WebElement element = driver.findElement( By.id("kw")); element.sendKeys("Nexus 6"); element.submit();
  • 6. Selendroid Inspector • View hierarchy • View UI element properties • UI screenshot with view locator • Record the click actions • View HTML of a web view • XPath helper Demo: http://youtu.be/JKZeF3eHljo Android Test Automation
  • 7. Multi Touch Support • Single finger example: TouchAction ta = new TouchActionBuilder().pointerDown(). pointerMove(x, y).pointerUp().build(); driver.getMultiTouchScreen().executeAction(ta); • Multi finger example (these will be executed in parallel): TouchAction finger1 = new TouchActionBuilder().pointerDown().pause(100). pointerMove(x, y).pointerUp().build(); TouchAction finger2 = new TouchActionBuilder().pointerDown().pause(100). pointerMove(x, y).pointerUp().build(); MultiTouchAction multiAction = new MultiTouchAction(finger1, finger2); driver.getMultiTouchScreen().executeAction(multiAction);
  • 8. Extend Selendroid at Runtime • First Mobile Test Automation Project that can be extended with your own code at runtime! • Implement it: • Build it
  • 10. Scaling using the Selenium Grid Android Test Automation Client Client GRID Hub server CI server server
  • 11. There is one more thing We are proud to announce that we have shipped: Selendroid 0.12.0
  • 12. Thank You! Questions or Comments?
  • 13. Selendroid in Action – Native Demo: http://youtu.be/074BnGV0mS0 – Hybrid Demo: http://youtu.be/FGsKI6esKpw – Mobile Web Demo: http://goo.gl/41uvAx – Selendroid Article: http://www.methodsandtools.com/tools/selendroid.php Android Test Automation