SlideShare a Scribd company logo
30.09.2014 
1 
MOBILE TEST AUTOMATION 
SELENIUM 
SELENDROID 
IOS-DRIVER
AGENDA 
● Welcome 
● Selenium Crash Course 
● ios-driver + Selendroid 
● Building a cross platform infrastructure 
2
WHO AM I ? 
3 
Gridfusion Software Solutions 
Michael Palotas 
Dipl. Ing. (FH) Nachrichtentechnik 
Email: michael.palotas@gridfusion.net 
LinkedIn: http://ch.linkedin.com/in/michaelpalotas/ 
Xing: https://www.xing.com/profile/Michael_Palotas 
Twitter: @michael_palotas 
Kontakt: 
Gerbiweg 2 
8853 Lachen 
SWITZERLAND 
Tel.: +41 79 6690708 
Founder / Principal Consultant 
Gridfusion Software Solutions 
Head of 
Productivity & Test Engineering 
eBay International
WARM-UP 
4 
Why do you automate tests? 
Which tests should be automated? 
Who should automate? 
What is different about mobile?
DISCLAIMER 
5 
THIS IS NOT A SELENDROID OR IOS-DRIVER 
TRAINING
MOBILE TEST AUTOMATION 
6 
Not as mature as web automation 
Immature tools market 
Tools are usually platform specific 
Multi code base
EMULATORS VS. DEVICES 
7 
What to test where?
SAME AUTOMATION CODE BETWEEN 
PLATFORMS? 
8 
Sounds good first 
but 
Most apps are different between platforms 
Different element locator strategy 
Do reuse the helper functions
TEST INFRASTRUCTURE 
9 
AUT 
API 
DB 
Browsers 
Mobiles
2. SELENIUM 
10
A LITTLE SELENIUM HISTORY 
Selenium was so named because Huggins, dissatisfied with testing 
tools on the market, was seeking a name that would position the 
product as an alternative to Mercury Interactive QuickTest 
Professional commercial testing software. The name, Selenium, was 
selected because selenium mineral supplements serve as a cure for 
mercury poisoning, Huggins explained. 
11
WHAT IS SELENIUM? 
12 
SELENIUM AUTOMATES BROWSERS 
THAT'S IT 
... One more thing ... 
Selenium is becoming a W3C standard: http://www.w3.org/TR/webdriver
WHAT IS SELENIUM? 
13 
Protocol which describes user interactions 
Supports most browsers 
Supports most programming languages
SELENIUM – WHAT IT IS NOT 
14 
a drag & drop tool 
a network testing / monitoring tool 
a performance testing tool 
a reporting tool 
a testcase management tool
WHY OPEN SOURCE? 
15 
It is free (…) 
Independent of 3rd parties 
Faster innovation cycles 
Motivated employees 
Easier hiring
THE SELENIUM „FLAVORS“ 
16 
Selenium IDE 
Selenium 
Selenium GRID 
Let’s forget about this one real quick
5. WEBDRIVER PROTOCOL 
17
SELENIUM 2 / WEBDRIVER 
18 
JSON WIRE 
PROTOCOL 
Client 
Java 
C# 
Ruby 
Python 
Server 
Server 
Server 
i.e. Selendroid, iOS-Driver
SELENIUM CLIENT 
19 
Is seen as Selenium by the users 
Generates HTTP request, which are received by 
the server 
Is called by the test framework or the CI server 
Supported languages: Java, C#, Python, Ruby, 
Perl, PHP, JS
SELENIUM SERVER 
20 
Receives HTTP requests from server 
Start and teardown of browser 
Translates requests into browser specific 
commands 
Communicates back to the client
6. SELENIUM BASICS 
21
DOWNLOADS 
- http://www.seleniumhq.org/ 
- http://selenium.googlecode.com/files/ 
selenium-server-standalone-2.42.2.jar 
- Maven example: 
22
DRIVER 
23 
Each browser has its own driver 
Firefox driver is part of the standalone jar 
http://selenium.googlecode.com/files/selenium-server-standalone-2.42.2.jar 
Chrome: https://code.google.com/p/selenium/wiki/ChromeDriver 
Opera: https://code.google.com/p/selenium/wiki/OperaDriver 
Internet Explorer: https://code.google.com/p/selenium/wiki/ 
InternetExplorerDriver
DRIVER 
Each driver implements the JSON Wire Protocol 
Driver interacts with the browser (or mobile) 
CLIENT 
SERVER 
24 
JSON Wire Protocol 
BROWSER 
DRIVER
OUR FIRST TEST 
Open a Firefox Browser 
Go to http://gridfusion.net 
Close the browser 
@Test 
public void myFirstTest() { 
WebDriver driver = new FirefoxDriver(); 
driver.get("http://gridfusion.net"); 
driver.quit(); 
} 
25
DRIVER API 
26
PAGE TITLE 
Open a Firefox browser 
Go to http://gridfusion.net 
Print the page title in the console 
Close the browser 
@Test 
public void pageTitleTest() { 
WebDriver driver = new FirefoxDriver(); 
driver.get("http://gridfusion.net"); 
String pageTitle = driver.getTitle(); 
System.out.println(pageTitle); 
driver.quit(); 
} 
27
ASSERTS 
Open a Firefox Browser 
Go to: http://gridfusion.net 
Verify Page Title = GRIDFUSION.net – Home 
Close the browser 
28
WEBELEMENT 
29 
Represents an HTML Element 
Interactions on a page happen via WebElement 
http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/WebElement.html
LOCATORS 
id 
cssSelector 
linkText 
name 
partialLinkText 
tagName 
xpath 
30 
driver.findElement(By.XYZ)
7. REMOTE WEBDRIVER 
31
REMOTE WEBDRIVER 
Decouples tests from browsers 
WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), DesiredCapabilities); 
32 
Machine 1 
Eclipse 
TestNG 
CI 
Machine 2 
HTTP Browser
DESIRED CAPABILITIES - BROWSER 
33 
DesiredCapabilities capability = new DesiredCapabilities(); 
capability.setBrowserName(“firefox”); 
https://code.google.com/p/selenium/wiki/DesiredCapabilities
REMOTEWEBDRIVER 
● Start a selenium server: 
34 
● java –jar selenium-server-standalone-2.42.2.jar 
● Use RemoteWebDriver and set DesiredCapabilities to Firefox 
● Open a Firefox browser 
● Go to: http://gridfusion.net 
● Close the browser 
@Test 
public void remoteWebdriverFireFoxTest() throws MalformedURLException { 
DesiredCapabilities capability = DesiredCapabilities.firefox(); 
WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capability); 
driver.get("http://gridfusion.net"); 
driver.quit(); 
}
8. SELENIUM GRID 
35
WHY SELENIUM GRID? 
36 
Environment Management & Control 
Scaling 
Parallel execution of tests 
Reduction of execution times 
Crossover tests (web, mobile)
SELENIUM GRID 
37 
SEQUENTIAL EXECUTION 
TEST TEST TEST TEST 
TIME 
n 
PARALLEL EXECUTION 
TEST TEST TEST TEST 
TEST TEST TEST TEST 
TEST TEST TEST TEST 
TEST TEST TEST TEST 
TIME 
n
SCALING – SELENIUM GRID 
38 
DEV 
CI 
…. 
SELENIUM GRID 
HUB 
IOS ANDROID 
WINDOWS 
LINUX 
OSX
1. STEP– START THE GRID HUB 
39 
Open a new terminal window 
Start the Selenium GRID hub by typing: 
java -jar selenium-server-standalone-2.42.jar -role hub 
Enter http://localhost:4444/grid/console into the browser
2. STEP– REGISTER A NODE 
40 
Open a second terminal window 
Start and register a Selenium node by entering: 
java -jar selenium-server-standalone-x.y.z.jar –role wd -hub 
http://localhost:4444/grid/register
SELENIUM NODE – STANDARD CONFIG 
- Go to: http://localhost:4444/grid/console 
Standard Configuration: 
5 Firefox 
5 Chrome 
1 Internet Explorer 
41
SCREENSHOTS 
42
10. REPORTING 
43
STANDARD REPORTS 
- TestNG reports are put into: **/test-output 
- Look for: emailable-report.html 
44
CUSTOM REPORTING 
- By calling Reporter.log(“your log message”), 
you can add additional information to the 
report 
45
SCREENSHOTS 
- Screenshots can also be placed directly into 
the report 
46
12. MOBILE 
AUTOMATION 
47
SELENIUM 2 / WEBDRIVER 
48 
JSON WIRE 
PROTOCOL 
Client 
Java 
C# 
Ruby 
Python 
Server 
Server 
Server 
i.e. Selendroid, iOS-Driver
(SOME) MOBILE AUTOMATION REQUIREMENTS 
* Reuse of the existing Selenium infrastructure for the web 
* Implementation of the Selenium protocol (JSON wire protocol) 
* The application under test (aut) should not need to be modified 
* Support for emulators/simulators as well as real devices 
* Parallel execution of tests in a Selenium Grid 
* Management of multiple applications, versions, languages 
* Support for runtime inspection for the app 
* Hybrid app support 
* No jailbreaking of device required 
49
IOS-DRIVER + SELENDROID 
50 
IOS: 
http://ios-driver.github.io/ios-driver/index.html 
ANDROID: 
http://selendroid.io/ 
Both projects implement the Webdriver API (JSON 
Wire Protocol)
ANDROID: MOBILE WEB 
51
ANDROID: NATIVE APP 
52
IOS: MOBILE WEB 
53
WRITE ONCE RUN EVERYWHERE 
54
WRITE ONCE RUN EVERYWHERE 
55
INSPECTOR 
56
SAUCELABS CLOUD 
57
WHAT HAVE YOU LEARNED TODAY? 
58
59 
THANK YOU

More Related Content

What's hot

BDD using Cucumber JVM
BDD using Cucumber JVMBDD using Cucumber JVM
BDD using Cucumber JVM
Vijay Krishnan Ramaswamy
 
Maven basics
Maven basicsMaven basics
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
Max Klymyshyn
 
Selenium_WebDriver_Java_TestNG
Selenium_WebDriver_Java_TestNGSelenium_WebDriver_Java_TestNG
Selenium_WebDriver_Java_TestNGBasul Asahab
 
Selenium topic 1- Selenium Basic
Selenium topic 1-  Selenium BasicSelenium topic 1-  Selenium Basic
Selenium topic 1- Selenium Basic
ITProfessional Academy
 
Introduction to Maven
Introduction to MavenIntroduction to Maven
Introduction to Maven
Onkar Deshpande
 
Getting started with coding for Jolla Sailfish OS. 22 Feb 2014, Tampere, Finland
Getting started with coding for Jolla Sailfish OS. 22 Feb 2014, Tampere, FinlandGetting started with coding for Jolla Sailfish OS. 22 Feb 2014, Tampere, Finland
Getting started with coding for Jolla Sailfish OS. 22 Feb 2014, Tampere, Finland
Artem Marchenko
 
Apache Maven
Apache MavenApache Maven
Apache Maven
Rahul Tanwani
 
Extreme Testing with Selenium - @hugs at Jenkins User Conference 2011
Extreme Testing with Selenium - @hugs at Jenkins User Conference 2011Extreme Testing with Selenium - @hugs at Jenkins User Conference 2011
Extreme Testing with Selenium - @hugs at Jenkins User Conference 2011
hugs
 
Selenium test automation
Selenium test automationSelenium test automation
Selenium test automation
Srikanth Vuriti
 
An Overview of Selenium
An Overview of SeleniumAn Overview of Selenium
An Overview of Selenium
adamcarmi
 
Maven
MavenMaven
Selenium topic 3 -Web Driver Basics
Selenium topic 3 -Web Driver BasicsSelenium topic 3 -Web Driver Basics
Selenium topic 3 -Web Driver Basics
ITProfessional Academy
 
Maven plugins, properties en profiles: Advanced concepts in Maven
Maven plugins, properties en profiles: Advanced concepts in MavenMaven plugins, properties en profiles: Advanced concepts in Maven
Maven plugins, properties en profiles: Advanced concepts in Maven
Geert Pante
 
Agile Software Development & Tools
Agile Software Development & ToolsAgile Software Development & Tools
Agile Software Development & Tools
Luismi Amorós Martínez
 
Selenium introduction
Selenium introductionSelenium introduction
Selenium introduction
Pankaj Dubey
 
Jenkins & Selenium
Jenkins & SeleniumJenkins & Selenium
Jenkins & Selenium
adamcarmi
 
Selenium basic
Selenium basicSelenium basic
Selenium basic
Dasun Eranthika
 
Maven 3 New Features
Maven 3 New FeaturesMaven 3 New Features
Maven 3 New Features
Stefan Scheidt
 

What's hot (20)

BDD using Cucumber JVM
BDD using Cucumber JVMBDD using Cucumber JVM
BDD using Cucumber JVM
 
Java notes
Java notesJava notes
Java notes
 
Maven basics
Maven basicsMaven basics
Maven basics
 
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
 
Selenium_WebDriver_Java_TestNG
Selenium_WebDriver_Java_TestNGSelenium_WebDriver_Java_TestNG
Selenium_WebDriver_Java_TestNG
 
Selenium topic 1- Selenium Basic
Selenium topic 1-  Selenium BasicSelenium topic 1-  Selenium Basic
Selenium topic 1- Selenium Basic
 
Introduction to Maven
Introduction to MavenIntroduction to Maven
Introduction to Maven
 
Getting started with coding for Jolla Sailfish OS. 22 Feb 2014, Tampere, Finland
Getting started with coding for Jolla Sailfish OS. 22 Feb 2014, Tampere, FinlandGetting started with coding for Jolla Sailfish OS. 22 Feb 2014, Tampere, Finland
Getting started with coding for Jolla Sailfish OS. 22 Feb 2014, Tampere, Finland
 
Apache Maven
Apache MavenApache Maven
Apache Maven
 
Extreme Testing with Selenium - @hugs at Jenkins User Conference 2011
Extreme Testing with Selenium - @hugs at Jenkins User Conference 2011Extreme Testing with Selenium - @hugs at Jenkins User Conference 2011
Extreme Testing with Selenium - @hugs at Jenkins User Conference 2011
 
Selenium test automation
Selenium test automationSelenium test automation
Selenium test automation
 
An Overview of Selenium
An Overview of SeleniumAn Overview of Selenium
An Overview of Selenium
 
Maven
MavenMaven
Maven
 
Selenium topic 3 -Web Driver Basics
Selenium topic 3 -Web Driver BasicsSelenium topic 3 -Web Driver Basics
Selenium topic 3 -Web Driver Basics
 
Maven plugins, properties en profiles: Advanced concepts in Maven
Maven plugins, properties en profiles: Advanced concepts in MavenMaven plugins, properties en profiles: Advanced concepts in Maven
Maven plugins, properties en profiles: Advanced concepts in Maven
 
Agile Software Development & Tools
Agile Software Development & ToolsAgile Software Development & Tools
Agile Software Development & Tools
 
Selenium introduction
Selenium introductionSelenium introduction
Selenium introduction
 
Jenkins & Selenium
Jenkins & SeleniumJenkins & Selenium
Jenkins & Selenium
 
Selenium basic
Selenium basicSelenium basic
Selenium basic
 
Maven 3 New Features
Maven 3 New FeaturesMaven 3 New Features
Maven 3 New Features
 

Viewers also liked

BonnieLAdamsLinkedInresume2016.doc
BonnieLAdamsLinkedInresume2016.docBonnieLAdamsLinkedInresume2016.doc
BonnieLAdamsLinkedInresume2016.docBonnie Adams
 
Blu-ray, DVD- und CD-Neuheiten Februar 2013 Nr. 1 (Im Vertrieb der NAXOS Deut...
Blu-ray, DVD- und CD-Neuheiten Februar 2013 Nr. 1 (Im Vertrieb der NAXOS Deut...Blu-ray, DVD- und CD-Neuheiten Februar 2013 Nr. 1 (Im Vertrieb der NAXOS Deut...
Blu-ray, DVD- und CD-Neuheiten Februar 2013 Nr. 1 (Im Vertrieb der NAXOS Deut...
NAXOS Deutschland GmbH
 
From Purpose to Person (Matthew Niederberger)
From Purpose to Person (Matthew Niederberger)From Purpose to Person (Matthew Niederberger)
From Purpose to Person (Matthew Niederberger)
Monetate
 
Community_Partners - PBworks: Online Collaboration
Community_Partners - PBworks: Online CollaborationCommunity_Partners - PBworks: Online Collaboration
Community_Partners - PBworks: Online Collaborationbutest
 
Lista depurada de participantes a taller i
Lista depurada de participantes a taller iLista depurada de participantes a taller i
Lista depurada de participantes a taller i
Esther Guzmán
 
TU RETRATO
TU RETRATOTU RETRATO
Administrative Projects from " DESIGNERS Consultants "
Administrative Projects from " DESIGNERS Consultants " Administrative Projects from " DESIGNERS Consultants "
Administrative Projects from " DESIGNERS Consultants "
Sherine Milad
 
Lista Roja IUCN - Jessica Sánchez
Lista Roja IUCN - Jessica SánchezLista Roja IUCN - Jessica Sánchez
Lista Roja IUCN - Jessica Sánchez
jkawaii
 
Sage 100 ERP 2013 Product Update 7 Release Notes
Sage 100 ERP 2013 Product Update 7 Release NotesSage 100 ERP 2013 Product Update 7 Release Notes
Sage 100 ERP 2013 Product Update 7 Release Notes
90 Minds Consulting Group
 
Manual bosch horno multifuncion hbr43 s451e
Manual bosch   horno multifuncion hbr43 s451eManual bosch   horno multifuncion hbr43 s451e
Manual bosch horno multifuncion hbr43 s451e
Alsako Electrodomésticos
 
Juan josé morosoli
Juan josé morosoliJuan josé morosoli
Juan josé morosoli
JuaOliva
 
Mac Donald Tesol 2010, Teaching Acdemic English: Changing Teacher Roles and I...
Mac Donald Tesol 2010, Teaching Acdemic English: Changing Teacher Roles and I...Mac Donald Tesol 2010, Teaching Acdemic English: Changing Teacher Roles and I...
Mac Donald Tesol 2010, Teaching Acdemic English: Changing Teacher Roles and I...
Saint Michael's College
 
El correo comercial
El correo comercialEl correo comercial
El correo comercial
Priscilla Festucci
 
Reto 071 CFE - Smartplace - Manual de Usuario
Reto 071 CFE - Smartplace - Manual de UsuarioReto 071 CFE - Smartplace - Manual de Usuario
Reto 071 CFE - Smartplace - Manual de Usuario
smartplace
 
La bible grecque des septante
La bible grecque des septanteLa bible grecque des septante
La bible grecque des septante
melgibsun
 
José Jiménez: Optimiza tu perfil de infojobs para mejorar tus resultados
José Jiménez: Optimiza tu perfil de infojobs para mejorar tus resultadosJosé Jiménez: Optimiza tu perfil de infojobs para mejorar tus resultados
José Jiménez: Optimiza tu perfil de infojobs para mejorar tus resultados
Foro Empleo Almansa
 
El dia cero
El dia cero El dia cero
El dia cero
Synergo!
 
Forest fires, polymers, and the chemistry of nappies
Forest fires, polymers, and the chemistry of nappiesForest fires, polymers, and the chemistry of nappies
Forest fires, polymers, and the chemistry of nappies
Teaching Enquiry with Mysteries Incorporated
 

Viewers also liked (20)

BonnieLAdamsLinkedInresume2016.doc
BonnieLAdamsLinkedInresume2016.docBonnieLAdamsLinkedInresume2016.doc
BonnieLAdamsLinkedInresume2016.doc
 
Blu-ray, DVD- und CD-Neuheiten Februar 2013 Nr. 1 (Im Vertrieb der NAXOS Deut...
Blu-ray, DVD- und CD-Neuheiten Februar 2013 Nr. 1 (Im Vertrieb der NAXOS Deut...Blu-ray, DVD- und CD-Neuheiten Februar 2013 Nr. 1 (Im Vertrieb der NAXOS Deut...
Blu-ray, DVD- und CD-Neuheiten Februar 2013 Nr. 1 (Im Vertrieb der NAXOS Deut...
 
From Purpose to Person (Matthew Niederberger)
From Purpose to Person (Matthew Niederberger)From Purpose to Person (Matthew Niederberger)
From Purpose to Person (Matthew Niederberger)
 
Es p
Es pEs p
Es p
 
Community_Partners - PBworks: Online Collaboration
Community_Partners - PBworks: Online CollaborationCommunity_Partners - PBworks: Online Collaboration
Community_Partners - PBworks: Online Collaboration
 
Manual de streaming con youtube
Manual de streaming con youtubeManual de streaming con youtube
Manual de streaming con youtube
 
Lista depurada de participantes a taller i
Lista depurada de participantes a taller iLista depurada de participantes a taller i
Lista depurada de participantes a taller i
 
TU RETRATO
TU RETRATOTU RETRATO
TU RETRATO
 
Administrative Projects from " DESIGNERS Consultants "
Administrative Projects from " DESIGNERS Consultants " Administrative Projects from " DESIGNERS Consultants "
Administrative Projects from " DESIGNERS Consultants "
 
Lista Roja IUCN - Jessica Sánchez
Lista Roja IUCN - Jessica SánchezLista Roja IUCN - Jessica Sánchez
Lista Roja IUCN - Jessica Sánchez
 
Sage 100 ERP 2013 Product Update 7 Release Notes
Sage 100 ERP 2013 Product Update 7 Release NotesSage 100 ERP 2013 Product Update 7 Release Notes
Sage 100 ERP 2013 Product Update 7 Release Notes
 
Manual bosch horno multifuncion hbr43 s451e
Manual bosch   horno multifuncion hbr43 s451eManual bosch   horno multifuncion hbr43 s451e
Manual bosch horno multifuncion hbr43 s451e
 
Juan josé morosoli
Juan josé morosoliJuan josé morosoli
Juan josé morosoli
 
Mac Donald Tesol 2010, Teaching Acdemic English: Changing Teacher Roles and I...
Mac Donald Tesol 2010, Teaching Acdemic English: Changing Teacher Roles and I...Mac Donald Tesol 2010, Teaching Acdemic English: Changing Teacher Roles and I...
Mac Donald Tesol 2010, Teaching Acdemic English: Changing Teacher Roles and I...
 
El correo comercial
El correo comercialEl correo comercial
El correo comercial
 
Reto 071 CFE - Smartplace - Manual de Usuario
Reto 071 CFE - Smartplace - Manual de UsuarioReto 071 CFE - Smartplace - Manual de Usuario
Reto 071 CFE - Smartplace - Manual de Usuario
 
La bible grecque des septante
La bible grecque des septanteLa bible grecque des septante
La bible grecque des septante
 
José Jiménez: Optimiza tu perfil de infojobs para mejorar tus resultados
José Jiménez: Optimiza tu perfil de infojobs para mejorar tus resultadosJosé Jiménez: Optimiza tu perfil de infojobs para mejorar tus resultados
José Jiménez: Optimiza tu perfil de infojobs para mejorar tus resultados
 
El dia cero
El dia cero El dia cero
El dia cero
 
Forest fires, polymers, and the chemistry of nappies
Forest fires, polymers, and the chemistry of nappiesForest fires, polymers, and the chemistry of nappies
Forest fires, polymers, and the chemistry of nappies
 

Similar to Mobile Test Automation using one API and one infrastructure

eXo Platform SEA - Play Framework Introduction
eXo Platform SEA - Play Framework IntroductioneXo Platform SEA - Play Framework Introduction
eXo Platform SEA - Play Framework Introductionvstorm83
 
First steps with selenium rc
First steps with selenium rcFirst steps with selenium rc
First steps with selenium rc
Dang Nguyen
 
Automated Smoke Tests with Protractor
Automated Smoke Tests with ProtractorAutomated Smoke Tests with Protractor
Automated Smoke Tests with Protractor
🌱 Dale Spoonemore
 
Test automation using selenium
Test automation using seleniumTest automation using selenium
Test automation using selenium
Cynoteck Technology Solutions Private Limited
 
OpenTuesday: Die Selenium-Toolfamilie und ihr Einsatz im Web- und Mobile-Auto...
OpenTuesday: Die Selenium-Toolfamilie und ihr Einsatz im Web- und Mobile-Auto...OpenTuesday: Die Selenium-Toolfamilie und ihr Einsatz im Web- und Mobile-Auto...
OpenTuesday: Die Selenium-Toolfamilie und ihr Einsatz im Web- und Mobile-Auto...
Digicomp Academy AG
 
Selenium
SeleniumSelenium
Selenium
conect2krish
 
OWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA TestersOWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA Testers
Javan Rasokat
 
Selenium Presentation at Engineering Colleges
Selenium Presentation at Engineering CollegesSelenium Presentation at Engineering Colleges
Selenium Presentation at Engineering Colleges
Vijay Rangaiah
 
Learn Selenium - Online Guide
Learn Selenium - Online GuideLearn Selenium - Online Guide
Learn Selenium - Online Guide
bigspire
 
Android Automation Testing with Selendroid
Android Automation Testing with SelendroidAndroid Automation Testing with Selendroid
Android Automation Testing with Selendroid
Vikas Thange
 
Selenium Introduction and IDE
Selenium Introduction and IDESelenium Introduction and IDE
Selenium Introduction and IDE
Murageppa-QA
 
Android UI Testing with Appium
Android UI Testing with AppiumAndroid UI Testing with Appium
Android UI Testing with Appium
Luke Maung
 
Automated UI testing.Selenium.DrupalCamp Kyiv 2011
Automated UI testing.Selenium.DrupalCamp Kyiv 2011Automated UI testing.Selenium.DrupalCamp Kyiv 2011
Automated UI testing.Selenium.DrupalCamp Kyiv 2011camp_drupal_ua
 
Selenium for Tester.pdf
Selenium for Tester.pdfSelenium for Tester.pdf
Selenium for Tester.pdf
RTechRInfoIT
 
Selenium-Webdriver With PHPUnit Automation test for Joomla CMS!
Selenium-Webdriver With PHPUnit Automation test for Joomla CMS!Selenium-Webdriver With PHPUnit Automation test for Joomla CMS!
Selenium-Webdriver With PHPUnit Automation test for Joomla CMS!
Puneet Kala
 
QSpiders - Automation using Selenium
QSpiders - Automation using SeleniumQSpiders - Automation using Selenium
QSpiders - Automation using Selenium
Qspiders - Software Testing Training Institute
 
Selenium- A Software Testing Tool
Selenium- A Software Testing ToolSelenium- A Software Testing Tool
Selenium- A Software Testing Tool
Zeba Tahseen
 
Selenium Java for Beginners by Sujit Pathak
Selenium Java for Beginners by Sujit PathakSelenium Java for Beginners by Sujit Pathak
Selenium Java for Beginners by Sujit Pathak
Software Testing Board
 
Selendroid in Action
Selendroid in ActionSelendroid in Action
Selendroid in Action
Dominik Dary
 

Similar to Mobile Test Automation using one API and one infrastructure (20)

eXo Platform SEA - Play Framework Introduction
eXo Platform SEA - Play Framework IntroductioneXo Platform SEA - Play Framework Introduction
eXo Platform SEA - Play Framework Introduction
 
First steps with selenium rc
First steps with selenium rcFirst steps with selenium rc
First steps with selenium rc
 
Automated Smoke Tests with Protractor
Automated Smoke Tests with ProtractorAutomated Smoke Tests with Protractor
Automated Smoke Tests with Protractor
 
Test automation using selenium
Test automation using seleniumTest automation using selenium
Test automation using selenium
 
OpenTuesday: Die Selenium-Toolfamilie und ihr Einsatz im Web- und Mobile-Auto...
OpenTuesday: Die Selenium-Toolfamilie und ihr Einsatz im Web- und Mobile-Auto...OpenTuesday: Die Selenium-Toolfamilie und ihr Einsatz im Web- und Mobile-Auto...
OpenTuesday: Die Selenium-Toolfamilie und ihr Einsatz im Web- und Mobile-Auto...
 
Selenium
SeleniumSelenium
Selenium
 
OWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA TestersOWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA Testers
 
Selenium Presentation at Engineering Colleges
Selenium Presentation at Engineering CollegesSelenium Presentation at Engineering Colleges
Selenium Presentation at Engineering Colleges
 
Learn Selenium - Online Guide
Learn Selenium - Online GuideLearn Selenium - Online Guide
Learn Selenium - Online Guide
 
Android Automation Testing with Selendroid
Android Automation Testing with SelendroidAndroid Automation Testing with Selendroid
Android Automation Testing with Selendroid
 
Selenium Introduction and IDE
Selenium Introduction and IDESelenium Introduction and IDE
Selenium Introduction and IDE
 
Android UI Testing with Appium
Android UI Testing with AppiumAndroid UI Testing with Appium
Android UI Testing with Appium
 
Automated UI testing.Selenium.DrupalCamp Kyiv 2011
Automated UI testing.Selenium.DrupalCamp Kyiv 2011Automated UI testing.Selenium.DrupalCamp Kyiv 2011
Automated UI testing.Selenium.DrupalCamp Kyiv 2011
 
test_automation_POC
test_automation_POCtest_automation_POC
test_automation_POC
 
Selenium for Tester.pdf
Selenium for Tester.pdfSelenium for Tester.pdf
Selenium for Tester.pdf
 
Selenium-Webdriver With PHPUnit Automation test for Joomla CMS!
Selenium-Webdriver With PHPUnit Automation test for Joomla CMS!Selenium-Webdriver With PHPUnit Automation test for Joomla CMS!
Selenium-Webdriver With PHPUnit Automation test for Joomla CMS!
 
QSpiders - Automation using Selenium
QSpiders - Automation using SeleniumQSpiders - Automation using Selenium
QSpiders - Automation using Selenium
 
Selenium- A Software Testing Tool
Selenium- A Software Testing ToolSelenium- A Software Testing Tool
Selenium- A Software Testing Tool
 
Selenium Java for Beginners by Sujit Pathak
Selenium Java for Beginners by Sujit PathakSelenium Java for Beginners by Sujit Pathak
Selenium Java for Beginners by Sujit Pathak
 
Selendroid in Action
Selendroid in ActionSelendroid in Action
Selendroid in Action
 

More from Michael Palotas

Berlin Selenium Meetup - Galen Framework
Berlin Selenium Meetup -  Galen FrameworkBerlin Selenium Meetup -  Galen Framework
Berlin Selenium Meetup - Galen Framework
Michael Palotas
 
Selenium - The page object pattern
Selenium - The page object patternSelenium - The page object pattern
Selenium - The page object pattern
Michael 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 Selenium
Michael 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 umbrella
Michael 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. Toolset
Michael Palotas
 
Agile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopAgile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery Workshop
Michael 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
 
Mobile WebDriver Selendroid
Mobile WebDriver SelendroidMobile WebDriver Selendroid
Mobile WebDriver SelendroidMichael 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 SCENES
Michael Palotas
 
JAVA User Group Bern - Selenium
JAVA User Group Bern  - SeleniumJAVA User Group Bern  - Selenium
JAVA User Group Bern - Selenium
Michael 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 Tools
Michael Palotas
 

More from 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
 
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...
 
Mobile WebDriver Selendroid
Mobile WebDriver SelendroidMobile WebDriver Selendroid
Mobile WebDriver Selendroid
 
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
 

Recently uploaded

Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
MayankTawar1
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
NaapbooksPrivateLimi
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Why React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdfWhy React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdf
ayushiqss
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
Tendenci - The Open Source AMS (Association Management Software)
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024
Sharepoint Designs
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
Jelle | Nordend
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2
 

Recently uploaded (20)

Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Why React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdfWhy React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdf
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 

Mobile Test Automation using one API and one infrastructure

  • 1. 30.09.2014 1 MOBILE TEST AUTOMATION SELENIUM SELENDROID IOS-DRIVER
  • 2. AGENDA ● Welcome ● Selenium Crash Course ● ios-driver + Selendroid ● Building a cross platform infrastructure 2
  • 3. WHO AM I ? 3 Gridfusion Software Solutions Michael Palotas Dipl. Ing. (FH) Nachrichtentechnik Email: michael.palotas@gridfusion.net LinkedIn: http://ch.linkedin.com/in/michaelpalotas/ Xing: https://www.xing.com/profile/Michael_Palotas Twitter: @michael_palotas Kontakt: Gerbiweg 2 8853 Lachen SWITZERLAND Tel.: +41 79 6690708 Founder / Principal Consultant Gridfusion Software Solutions Head of Productivity & Test Engineering eBay International
  • 4. WARM-UP 4 Why do you automate tests? Which tests should be automated? Who should automate? What is different about mobile?
  • 5. DISCLAIMER 5 THIS IS NOT A SELENDROID OR IOS-DRIVER TRAINING
  • 6. MOBILE TEST AUTOMATION 6 Not as mature as web automation Immature tools market Tools are usually platform specific Multi code base
  • 7. EMULATORS VS. DEVICES 7 What to test where?
  • 8. SAME AUTOMATION CODE BETWEEN PLATFORMS? 8 Sounds good first but Most apps are different between platforms Different element locator strategy Do reuse the helper functions
  • 9. TEST INFRASTRUCTURE 9 AUT API DB Browsers Mobiles
  • 11. A LITTLE SELENIUM HISTORY Selenium was so named because Huggins, dissatisfied with testing tools on the market, was seeking a name that would position the product as an alternative to Mercury Interactive QuickTest Professional commercial testing software. The name, Selenium, was selected because selenium mineral supplements serve as a cure for mercury poisoning, Huggins explained. 11
  • 12. WHAT IS SELENIUM? 12 SELENIUM AUTOMATES BROWSERS THAT'S IT ... One more thing ... Selenium is becoming a W3C standard: http://www.w3.org/TR/webdriver
  • 13. WHAT IS SELENIUM? 13 Protocol which describes user interactions Supports most browsers Supports most programming languages
  • 14. SELENIUM – WHAT IT IS NOT 14 a drag & drop tool a network testing / monitoring tool a performance testing tool a reporting tool a testcase management tool
  • 15. WHY OPEN SOURCE? 15 It is free (…) Independent of 3rd parties Faster innovation cycles Motivated employees Easier hiring
  • 16. THE SELENIUM „FLAVORS“ 16 Selenium IDE Selenium Selenium GRID Let’s forget about this one real quick
  • 18. SELENIUM 2 / WEBDRIVER 18 JSON WIRE PROTOCOL Client Java C# Ruby Python Server Server Server i.e. Selendroid, iOS-Driver
  • 19. SELENIUM CLIENT 19 Is seen as Selenium by the users Generates HTTP request, which are received by the server Is called by the test framework or the CI server Supported languages: Java, C#, Python, Ruby, Perl, PHP, JS
  • 20. SELENIUM SERVER 20 Receives HTTP requests from server Start and teardown of browser Translates requests into browser specific commands Communicates back to the client
  • 22. DOWNLOADS - http://www.seleniumhq.org/ - http://selenium.googlecode.com/files/ selenium-server-standalone-2.42.2.jar - Maven example: 22
  • 23. DRIVER 23 Each browser has its own driver Firefox driver is part of the standalone jar http://selenium.googlecode.com/files/selenium-server-standalone-2.42.2.jar Chrome: https://code.google.com/p/selenium/wiki/ChromeDriver Opera: https://code.google.com/p/selenium/wiki/OperaDriver Internet Explorer: https://code.google.com/p/selenium/wiki/ InternetExplorerDriver
  • 24. DRIVER Each driver implements the JSON Wire Protocol Driver interacts with the browser (or mobile) CLIENT SERVER 24 JSON Wire Protocol BROWSER DRIVER
  • 25. OUR FIRST TEST Open a Firefox Browser Go to http://gridfusion.net Close the browser @Test public void myFirstTest() { WebDriver driver = new FirefoxDriver(); driver.get("http://gridfusion.net"); driver.quit(); } 25
  • 27. PAGE TITLE Open a Firefox browser Go to http://gridfusion.net Print the page title in the console Close the browser @Test public void pageTitleTest() { WebDriver driver = new FirefoxDriver(); driver.get("http://gridfusion.net"); String pageTitle = driver.getTitle(); System.out.println(pageTitle); driver.quit(); } 27
  • 28. ASSERTS Open a Firefox Browser Go to: http://gridfusion.net Verify Page Title = GRIDFUSION.net – Home Close the browser 28
  • 29. WEBELEMENT 29 Represents an HTML Element Interactions on a page happen via WebElement http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/WebElement.html
  • 30. LOCATORS id cssSelector linkText name partialLinkText tagName xpath 30 driver.findElement(By.XYZ)
  • 32. REMOTE WEBDRIVER Decouples tests from browsers WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), DesiredCapabilities); 32 Machine 1 Eclipse TestNG CI Machine 2 HTTP Browser
  • 33. DESIRED CAPABILITIES - BROWSER 33 DesiredCapabilities capability = new DesiredCapabilities(); capability.setBrowserName(“firefox”); https://code.google.com/p/selenium/wiki/DesiredCapabilities
  • 34. REMOTEWEBDRIVER ● Start a selenium server: 34 ● java –jar selenium-server-standalone-2.42.2.jar ● Use RemoteWebDriver and set DesiredCapabilities to Firefox ● Open a Firefox browser ● Go to: http://gridfusion.net ● Close the browser @Test public void remoteWebdriverFireFoxTest() throws MalformedURLException { DesiredCapabilities capability = DesiredCapabilities.firefox(); WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capability); driver.get("http://gridfusion.net"); driver.quit(); }
  • 36. WHY SELENIUM GRID? 36 Environment Management & Control Scaling Parallel execution of tests Reduction of execution times Crossover tests (web, mobile)
  • 37. SELENIUM GRID 37 SEQUENTIAL EXECUTION TEST TEST TEST TEST TIME n PARALLEL EXECUTION TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TIME n
  • 38. SCALING – SELENIUM GRID 38 DEV CI …. SELENIUM GRID HUB IOS ANDROID WINDOWS LINUX OSX
  • 39. 1. STEP– START THE GRID HUB 39 Open a new terminal window Start the Selenium GRID hub by typing: java -jar selenium-server-standalone-2.42.jar -role hub Enter http://localhost:4444/grid/console into the browser
  • 40. 2. STEP– REGISTER A NODE 40 Open a second terminal window Start and register a Selenium node by entering: java -jar selenium-server-standalone-x.y.z.jar –role wd -hub http://localhost:4444/grid/register
  • 41. SELENIUM NODE – STANDARD CONFIG - Go to: http://localhost:4444/grid/console Standard Configuration: 5 Firefox 5 Chrome 1 Internet Explorer 41
  • 44. STANDARD REPORTS - TestNG reports are put into: **/test-output - Look for: emailable-report.html 44
  • 45. CUSTOM REPORTING - By calling Reporter.log(“your log message”), you can add additional information to the report 45
  • 46. SCREENSHOTS - Screenshots can also be placed directly into the report 46
  • 48. SELENIUM 2 / WEBDRIVER 48 JSON WIRE PROTOCOL Client Java C# Ruby Python Server Server Server i.e. Selendroid, iOS-Driver
  • 49. (SOME) MOBILE AUTOMATION REQUIREMENTS * Reuse of the existing Selenium infrastructure for the web * Implementation of the Selenium protocol (JSON wire protocol) * The application under test (aut) should not need to be modified * Support for emulators/simulators as well as real devices * Parallel execution of tests in a Selenium Grid * Management of multiple applications, versions, languages * Support for runtime inspection for the app * Hybrid app support * No jailbreaking of device required 49
  • 50. IOS-DRIVER + SELENDROID 50 IOS: http://ios-driver.github.io/ios-driver/index.html ANDROID: http://selendroid.io/ Both projects implement the Webdriver API (JSON Wire Protocol)
  • 54. WRITE ONCE RUN EVERYWHERE 54
  • 55. WRITE ONCE RUN EVERYWHERE 55
  • 58. WHAT HAVE YOU LEARNED TODAY? 58