SlideShare a Scribd company logo
1 of 19
Selenium for Everyone
    www.seleniumhq.org




    Think Technology..Think Future
What is Selenium
•   Is a suite of tools to automate web browsers across many platforms

•   Can be used for
     –   Automate web application for testing
     –   Automate web administration tasks
     –   Measure Performance
     –   Test Security

•   Supports multiple browsers, platforms and Languages
     – Chrome, IE, Firefox, Opera, Safari,
     – HTML Unit, Android & iOS phones and tablets
     – Java, C#, Ruby, Python, PHP, Perl, etc.

•   Deploys on – Windows, Mac, Linux

•   Variants
     – Selenium 2 (Webdriver) , Selenium 1 (Remote Control), Selenium IDE

                            Think Technology..Think Future
Selenium - History
• Started in 2004 in by Jason Huggins
  who worked in ThoughtWorks
• Jason joins Google in 2007
• Currently CTO of SauceLabs
• Simon Stewart Started work on
  Webdriver in Google
• http://google-opensource.blogspot.in/2009/05/
  introducing-webdriver.html


               Think Technology..Think Future
Growing importance of Selenium




        Think Technology..Think Future
Need of Test Automation
• Frequent regression testing
• Rapid feedback to developers
• Virtually unlimited iterations of test case
  execution
• Support for Agile and extreme development
  methodologies
• Disciplined documentation of test cases
• Customized defect reporting
• Finding defects missed by manual testing
               Think Technology..Think Future
Selenium IDE
Pros
  –    Easy to install as a Firefox plugin
  –    Record & Playback
  –    Easy Execution
  –    Export script
  –    Suitable for creating simple scripts
Cons
  – Sequential Execution
  – Not easy to data drive
  – No basic Programming Construct

                       Think Technology..Think Future
Selenium IDE




Think Technology..Think Future
Selenium RC




Think Technology..Think Future
Selenium RC
• Client-server architecture
• It ‘injects’ javascript functions into the browser. Uses
  its javascript to drive the AUT

Problems
• browsers impose a pretty strict security model on any
  JavaScript to protect a user from malicious scripts.
• Examples
   – trying to upload a file (IE prevents JavaScript from
     changing the value of an INPUT file element)
   – when trying to navigate between domains (because of the
     single host origin policy problem)


                   Think Technology..Think Future
Selenium WebDriver
• Makes direct calls to the browser using each
  browser’s native support for automation
  – For Firefox, implemented as an extension
  – For IE, makes use of IE's Automation controls
• Circumvents JavaScript security restrictions
• Can make use of facilities offered by the OS
  – More closely model how the user interacts with the
    browser, and that we can type into "file" input
    elements
• Support by browser vendors - Opera, Mozilla and
  Google are all active participants
                  Think Technology..Think Future
Selenium WebDriver

Firefox Driver Architecture:




IE Driver Architecture:



                      Think Technology..Think Future
Sample Webdriver Test




    Think Technology..Think Future
Why choose Webdriver
• Object Oriented, smaller, compact API - This can
  make it easier to work with compared to RC
• Mimics the way that your users work with your
  site and apps
• Offers advanced user interactions APIs
  – Drag and Drop
  – Clicking multiple elements with Control key
• Support for WebDriver is baked into the browser
  itself: your tests run fast and are stable

                 Think Technology..Think Future
Issues
•   Changing element locators
•   Changing data
•   Reusability
•   Maintainability
•   Readability
•   Reporting



                Think Technology..Think Future
Need framework to…
• Allow organizing tests into different Pages
• Abstract element locators
• Abstract data
• Allow verification points
• Capability to deal with file systemdatabases
  windows dialogs, etc.
• Be maintainable to keep pace with fast agile
  development

               Think Technology..Think Future
What is Think Future Automation For Generic System (TAGS)…

• Built using selenium web-driver
• Parallel test execution on multiple browsers
• Uses spreadsheets to define test flows
• Easiest maintenance of object definitions
• Reporting in xml, html format
• Performs Database Testing
• Integrates with test management tools- Quality
   Center, VS Test Manager 2010, xStudio

• Execution on Cloud like Saucelabs
• High Degree of Reusability

                               Think Technology..Think Future
About..
• Think Future Technologies is a global software
  development, QA & Testing services firm. Incorporated in
  India in 2006




                                                   Commercial Support Provider


                  Think Technology..Think Future
Important URLs
• Meetup Group on Selenium in Delhi / NCR
  – http://www.meetup.com/seleners/
• Selenium Conference Slides
  – http://www.seleniumconf.org/speakers/
• Book on Selenium
  – http://www.aosabook.org/en/selenium.html
• TAGS Framework
  – www.tftus.com/tags.html

               Think Technology..Think Future
Twitter:

 @SeleniumHQ
@thinkfuturetech


 Think Technology..Think Future

More Related Content

What's hot

Automated Security Testing
Automated Security TestingAutomated Security Testing
Automated Security Testing
seleniumconf
 
Introduction to Django (GDays 2014)
Introduction to Django (GDays 2014) Introduction to Django (GDays 2014)
Introduction to Django (GDays 2014)
Edem Kumodzi
 

What's hot (20)

SenchaCon 2016: The Changing Landscape of JavaScript Testing - Joel Watson an...
SenchaCon 2016: The Changing Landscape of JavaScript Testing - Joel Watson an...SenchaCon 2016: The Changing Landscape of JavaScript Testing - Joel Watson an...
SenchaCon 2016: The Changing Landscape of JavaScript Testing - Joel Watson an...
 
WordPress Security 101 - Meetup Nairobi March 2020
WordPress Security 101 - Meetup Nairobi March 2020 WordPress Security 101 - Meetup Nairobi March 2020
WordPress Security 101 - Meetup Nairobi March 2020
 
Philly CocoaHeads 20160414 - Building Your App SDK With Swift
Philly CocoaHeads 20160414 - Building Your App SDK With SwiftPhilly CocoaHeads 20160414 - Building Your App SDK With Swift
Philly CocoaHeads 20160414 - Building Your App SDK With Swift
 
SenchaCon 2016: Developing and Delivering Quality Code, Frequently - Neil Manvar
SenchaCon 2016: Developing and Delivering Quality Code, Frequently - Neil ManvarSenchaCon 2016: Developing and Delivering Quality Code, Frequently - Neil Manvar
SenchaCon 2016: Developing and Delivering Quality Code, Frequently - Neil Manvar
 
Continuous Testing in the Cloud
Continuous Testing in the CloudContinuous Testing in the Cloud
Continuous Testing in the Cloud
 
Automated Security Testing
Automated Security TestingAutomated Security Testing
Automated Security Testing
 
Automate everything with PowerShell
Automate everything with PowerShellAutomate everything with PowerShell
Automate everything with PowerShell
 
Developing JavaEE 7 based apps with Payara Micro
Developing JavaEE 7 based apps with Payara MicroDeveloping JavaEE 7 based apps with Payara Micro
Developing JavaEE 7 based apps with Payara Micro
 
Introduction to Django (GDays 2014)
Introduction to Django (GDays 2014) Introduction to Django (GDays 2014)
Introduction to Django (GDays 2014)
 
Apply chat automation today - work smarter tomorrow
Apply chat automation today - work smarter tomorrowApply chat automation today - work smarter tomorrow
Apply chat automation today - work smarter tomorrow
 
Hacker Proof web app using Functional tests
Hacker Proof web  app using Functional testsHacker Proof web  app using Functional tests
Hacker Proof web app using Functional tests
 
Webhooks with Azure Functions - Live 360 Conference
Webhooks with Azure Functions - Live 360 ConferenceWebhooks with Azure Functions - Live 360 Conference
Webhooks with Azure Functions - Live 360 Conference
 
Create awesome Azure Functions with PowerShell
Create awesome Azure Functions with PowerShellCreate awesome Azure Functions with PowerShell
Create awesome Azure Functions with PowerShell
 
Automate it with Azure Functions
Automate it with Azure FunctionsAutomate it with Azure Functions
Automate it with Azure Functions
 
What is IBM Bluemix , Une nouvelle façon de coder , dans le cloud
What is IBM Bluemix , Une nouvelle façon de coder , dans le cloudWhat is IBM Bluemix , Une nouvelle façon de coder , dans le cloud
What is IBM Bluemix , Une nouvelle façon de coder , dans le cloud
 
Selenium and Sauce Labs
Selenium and Sauce LabsSelenium and Sauce Labs
Selenium and Sauce Labs
 
Automating security with PowerShell
Automating security with PowerShellAutomating security with PowerShell
Automating security with PowerShell
 
How to build a JavaScript toolkit
How to build a JavaScript toolkitHow to build a JavaScript toolkit
How to build a JavaScript toolkit
 
JavaEE Microservices -the Payara Way
JavaEE Microservices -the Payara WayJavaEE Microservices -the Payara Way
JavaEE Microservices -the Payara Way
 
Paint it blue with PowerShell
Paint it blue with PowerShellPaint it blue with PowerShell
Paint it blue with PowerShell
 

Similar to Selenium for everyone

Architecting for Hyper Growth and Great Engineering Culture
Architecting for Hyper Growth and Great Engineering CultureArchitecting for Hyper Growth and Great Engineering Culture
Architecting for Hyper Growth and Great Engineering Culture
ifnu bima
 

Similar to Selenium for everyone (20)

Selenium
SeleniumSelenium
Selenium
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1
 
Selenium Automation
Selenium AutomationSelenium Automation
Selenium Automation
 
Automated ui-testing
Automated ui-testingAutomated ui-testing
Automated ui-testing
 
Introduction to selenium
Introduction to seleniumIntroduction to selenium
Introduction to selenium
 
Karate _Framework.ppt
Karate _Framework.pptKarate _Framework.ppt
Karate _Framework.ppt
 
Test automation proposal
Test automation proposalTest automation proposal
Test automation proposal
 
Selenium
SeleniumSelenium
Selenium
 
Test_Automation using Selenium.ppt
Test_Automation using Selenium.pptTest_Automation using Selenium.ppt
Test_Automation using Selenium.ppt
 
KrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfKrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdf
 
Continuous Integration for OpenVMS with Jenkins
Continuous Integration for OpenVMS with JenkinsContinuous Integration for OpenVMS with Jenkins
Continuous Integration for OpenVMS with Jenkins
 
Introduction to selenium
Introduction to seleniumIntroduction to selenium
Introduction to selenium
 
Architecting for Huper Growth and Great Engineering Culture
Architecting for Huper Growth and Great Engineering CultureArchitecting for Huper Growth and Great Engineering Culture
Architecting for Huper Growth and Great Engineering Culture
 
Architecting for Hyper Growth and Great Engineering Culture
Architecting for Hyper Growth and Great Engineering CultureArchitecting for Hyper Growth and Great Engineering Culture
Architecting for Hyper Growth and Great Engineering Culture
 
Testing Testing everywhere
Testing Testing everywhereTesting Testing everywhere
Testing Testing everywhere
 
One to rule them all
One to rule them allOne to rule them all
One to rule them all
 
Agile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAgile Secure Cloud Application Development Management
Agile Secure Cloud Application Development Management
 
JavaOne 2016 - CON3080 - Testing Java Web Applications with Selenium: A Cookbook
JavaOne 2016 - CON3080 - Testing Java Web Applications with Selenium: A CookbookJavaOne 2016 - CON3080 - Testing Java Web Applications with Selenium: A Cookbook
JavaOne 2016 - CON3080 - Testing Java Web Applications with Selenium: A Cookbook
 
Module-1_Getting-Started_with_selenium_and_Java_basics.pdf
Module-1_Getting-Started_with_selenium_and_Java_basics.pdfModule-1_Getting-Started_with_selenium_and_Java_basics.pdf
Module-1_Getting-Started_with_selenium_and_Java_basics.pdf
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Recently uploaded (20)

Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 

Selenium for everyone

  • 1. Selenium for Everyone www.seleniumhq.org Think Technology..Think Future
  • 2. What is Selenium • Is a suite of tools to automate web browsers across many platforms • Can be used for – Automate web application for testing – Automate web administration tasks – Measure Performance – Test Security • Supports multiple browsers, platforms and Languages – Chrome, IE, Firefox, Opera, Safari, – HTML Unit, Android & iOS phones and tablets – Java, C#, Ruby, Python, PHP, Perl, etc. • Deploys on – Windows, Mac, Linux • Variants – Selenium 2 (Webdriver) , Selenium 1 (Remote Control), Selenium IDE Think Technology..Think Future
  • 3. Selenium - History • Started in 2004 in by Jason Huggins who worked in ThoughtWorks • Jason joins Google in 2007 • Currently CTO of SauceLabs • Simon Stewart Started work on Webdriver in Google • http://google-opensource.blogspot.in/2009/05/ introducing-webdriver.html Think Technology..Think Future
  • 4. Growing importance of Selenium Think Technology..Think Future
  • 5. Need of Test Automation • Frequent regression testing • Rapid feedback to developers • Virtually unlimited iterations of test case execution • Support for Agile and extreme development methodologies • Disciplined documentation of test cases • Customized defect reporting • Finding defects missed by manual testing Think Technology..Think Future
  • 6. Selenium IDE Pros – Easy to install as a Firefox plugin – Record & Playback – Easy Execution – Export script – Suitable for creating simple scripts Cons – Sequential Execution – Not easy to data drive – No basic Programming Construct Think Technology..Think Future
  • 9. Selenium RC • Client-server architecture • It ‘injects’ javascript functions into the browser. Uses its javascript to drive the AUT Problems • browsers impose a pretty strict security model on any JavaScript to protect a user from malicious scripts. • Examples – trying to upload a file (IE prevents JavaScript from changing the value of an INPUT file element) – when trying to navigate between domains (because of the single host origin policy problem) Think Technology..Think Future
  • 10. Selenium WebDriver • Makes direct calls to the browser using each browser’s native support for automation – For Firefox, implemented as an extension – For IE, makes use of IE's Automation controls • Circumvents JavaScript security restrictions • Can make use of facilities offered by the OS – More closely model how the user interacts with the browser, and that we can type into "file" input elements • Support by browser vendors - Opera, Mozilla and Google are all active participants Think Technology..Think Future
  • 11. Selenium WebDriver Firefox Driver Architecture: IE Driver Architecture: Think Technology..Think Future
  • 12. Sample Webdriver Test Think Technology..Think Future
  • 13. Why choose Webdriver • Object Oriented, smaller, compact API - This can make it easier to work with compared to RC • Mimics the way that your users work with your site and apps • Offers advanced user interactions APIs – Drag and Drop – Clicking multiple elements with Control key • Support for WebDriver is baked into the browser itself: your tests run fast and are stable Think Technology..Think Future
  • 14. Issues • Changing element locators • Changing data • Reusability • Maintainability • Readability • Reporting Think Technology..Think Future
  • 15. Need framework to… • Allow organizing tests into different Pages • Abstract element locators • Abstract data • Allow verification points • Capability to deal with file systemdatabases windows dialogs, etc. • Be maintainable to keep pace with fast agile development Think Technology..Think Future
  • 16. What is Think Future Automation For Generic System (TAGS)… • Built using selenium web-driver • Parallel test execution on multiple browsers • Uses spreadsheets to define test flows • Easiest maintenance of object definitions • Reporting in xml, html format • Performs Database Testing • Integrates with test management tools- Quality Center, VS Test Manager 2010, xStudio • Execution on Cloud like Saucelabs • High Degree of Reusability Think Technology..Think Future
  • 17. About.. • Think Future Technologies is a global software development, QA & Testing services firm. Incorporated in India in 2006 Commercial Support Provider Think Technology..Think Future
  • 18. Important URLs • Meetup Group on Selenium in Delhi / NCR – http://www.meetup.com/seleners/ • Selenium Conference Slides – http://www.seleniumconf.org/speakers/ • Book on Selenium – http://www.aosabook.org/en/selenium.html • TAGS Framework – www.tftus.com/tags.html Think Technology..Think Future