SlideShare a Scribd company logo
1 of 59
Download to read offline
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

Testing with Jenkins, Selenium and Continuous Deployment
Testing with Jenkins, Selenium and Continuous DeploymentTesting with Jenkins, Selenium and Continuous Deployment
Testing with Jenkins, Selenium and Continuous DeploymentMax Klymyshyn
 
Selenium_WebDriver_Java_TestNG
Selenium_WebDriver_Java_TestNGSelenium_WebDriver_Java_TestNG
Selenium_WebDriver_Java_TestNGBasul Asahab
 
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, FinlandArtem Marchenko
 
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 2011hugs
 
Selenium test automation
Selenium test automationSelenium test automation
Selenium test automationSrikanth Vuriti
 
An Overview of Selenium
An Overview of SeleniumAn Overview of Selenium
An Overview of Seleniumadamcarmi
 
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 MavenGeert Pante
 
Selenium introduction
Selenium introductionSelenium introduction
Selenium introductionPankaj Dubey
 
Jenkins & Selenium
Jenkins & SeleniumJenkins & Selenium
Jenkins & Seleniumadamcarmi
 

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 iEsther Guzmán
 
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ánchezjkawaii
 
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 Notes90 Minds Consulting Group
 
Juan josé morosoli
Juan josé morosoliJuan josé morosoli
Juan josé morosoliJuaOliva
 
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
 
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 Usuariosmartplace
 
La bible grecque des septante
La bible grecque des septanteLa bible grecque des septante
La bible grecque des septantemelgibsun
 
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 resultadosForo Empleo Almansa
 
El dia cero
El dia cero El dia cero
El dia cero Synergo!
 

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 rcDang Nguyen
 
Automated Smoke Tests with Protractor
Automated Smoke Tests with ProtractorAutomated Smoke Tests with Protractor
Automated Smoke Tests with Protractor🌱 Dale Spoonemore
 
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
 
OWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA TestersOWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA TestersJavan Rasokat
 
Selenium Presentation at Engineering Colleges
Selenium Presentation at Engineering CollegesSelenium Presentation at Engineering Colleges
Selenium Presentation at Engineering CollegesVijay Rangaiah
 
Learn Selenium - Online Guide
Learn Selenium - Online GuideLearn Selenium - Online Guide
Learn Selenium - Online Guidebigspire
 
Android Automation Testing with Selendroid
Android Automation Testing with SelendroidAndroid Automation Testing with Selendroid
Android Automation Testing with SelendroidVikas Thange
 
Selenium Introduction and IDE
Selenium Introduction and IDESelenium Introduction and IDE
Selenium Introduction and IDEMurageppa-QA
 
Android UI Testing with Appium
Android UI Testing with AppiumAndroid UI Testing with Appium
Android UI Testing with AppiumLuke 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.pdfRTechRInfoIT
 
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
 
Selenium- A Software Testing Tool
Selenium- A Software Testing ToolSelenium- A Software Testing Tool
Selenium- A Software Testing ToolZeba 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 PathakSoftware Testing Board
 
Selendroid in Action
Selendroid in ActionSelendroid in Action
Selendroid in ActionDominik 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 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
 
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
 
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 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
 

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

5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 

Recently uploaded (20)

5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 

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