SlideShare a Scribd company logo
Selenium in the life of day-to-day
    testing. Practical aspects.
          Ruslan Strazhnyk
             February 2012
About me
Ruslan Strazhnyk   • Experience – more than 6 years in IT
                   • Position:
                      – QA Automation Engineer
                   • Skills:
                      – Python, Selenium, Jenkins
                      – Jmeter, Cloud Services




                       www.maven.co
Agenda
• Part1
  – Selenium Grid and Jenkins
  – xUnit frameworks
  – Issues with some browsers

• Part2
  – Selenium in the cloud. Integration with various
    cloud services
  – Build your own infrastructure in the cloud
Selenium practical
Part 1

Using selenium for functional testing
     in continuous integration.
How QA always like




  Well, maybe not always
Introduction. How do we QA?
• What do we always have:
  – QA mess on the project
  – How to support all specifications
  – Team coordination?!
• What do we want to achieve:
  – Results visibility
  – Better cooperation
  – Customer satisfaction
Customer satisfaction
Selenium Grid and Jenkins plugin.
•   What is Continuous Integration
•   Role of Selenium Grid in CI
•   Jenkins Selenium plugin
•   Other plugins that should help:
     – Test Report (xUnit)
     – Violations, TestCoverage
     – Rebuild
     – Extended choice plugin
     – Repository connectors
Custom Job
Using Jenkins
How can Jenkins serve you
•   What it helps and what it doesn’t
•   Create as many jobs as needed
•   CI for you project is not only test automation
•   Has a lot of really useful plugins and features
•   Let your all team work on it, not only you
Want to know more? Refer to book!
Selenium Grid
Jenkins Selenium Plugin
            Pros                          Cons
• Almost as built-in. Easy to   • Manual update to new
  install and track               Selenium Server through
• Console output                  workaround
• All in one                    • No control
New Selenium Grid
Nodes tune-up
• How to add multiple OS/ browser version
  support
• Different run-scripts for every browser
  – Firefox profile template
  – Googlechrome driver
  – Iexplore security issues
• Autostart tasks
• VM environment
Tune-up
Configuration hints
java -jar C:/Selenium/selenium-server-standalone-2.19.0.jar -role webdriver -hub
    http://192.168.1.33:4444/grid/register -port 5555 -nodeTimeout 1200 -
    firefoxProfileTemplate "C:/selenium/firefox/ilki8ovl.selenium" -browser
    browserName=firefox,version=10,platform=WINDOWS
java -jar C:/Selenium/selenium-server-standalone-2.19.0.jar -role webdriver -
    Dwebdriver.chrome.driver="C:/selenium/chromedriver.exe" -hub
    http://192.168.1.33:4444/grid/register -port 5559 -nodeTimeout 1200 -browser
    browserName=chrome,platform=WINDOWS
Browser support
Potential Browser problems
• It all suck, no ONE FITS ALL solution
   – Better to do it one by one
   – Start with easier
• Windows is Windows
   – Different CSS and XPATH
   – Slow performance
• SSL support
• Proxy support
• Let you control the browser not browser control
  you
Universal Framework
Nosetests as a universal xUnit
                framework
• Features
   – Unitestplugin support
   – Short commands
   – Junit result output
• Plugins
   – Include third-party plugins
   – Testconfig
Result of in-house testing
Part 2

Selenium in the cloud. Integration
  with BrowserMob, SauceLabs,
    ShiningPanda, AmazonEC2
How could cloud testing help your
    project. When to turn cloud.
• When you need cloud services:
  – Everybody needs unless you’re not Facebook,
    Google, Cisco
  – Having own cluster base is expensive
  – You have a start-up and your team is remote
  – You want to quickly show results to customers,
    investors etc.
Cloud Providers
Semi-paid and semi-free services.
• A lot of services grow up recently:
  – Saas services
  – Cloud hosting(Amazon, Rackspace)
• You are the boss, you choose:
  – Strong tech skills and you want full control –
    Rackspace, Amazon EC2
  – Less skills to admin – Sauce Labs, BrowserMob,
    others
Load Testing
Traditional Load Testing
            Pros                             Cons
• Everything is configurable to   • Takes weeks to build good
  yourself                          working test infrastructure
• A lot of Free tools (Jmeter,    • A lot of computer power is
  Grinder etc.)                     required to run really good
                                    load tests
Computing power
Load Testing with BrowserMob
Ready cloud services




            Pros                            Cons
• Already includes all services
  you only start thinking of      • Non-free use
• Video capturing and good        • Dependency on the service
  error parsing                     provider
• Easy API
SauceOnDemand
Shining Panda
Is it Really Fast?
Do it yourself. Dedicated Cloud
• When you need something done right, do it
  yourself
• Traditional way of using cloud - PaaS
• A lot of providers, most of them have good
  pricing:
  –   Rackspace Cloud Servers
  –   Amazon Web Services
  –   Joyent
  –   GoGrid
  –   SkytapNetworks
DIY Instrument Kit
Do it yourself. Dedicated Cloud
            Pros                              Cons
• Everything is configurable to   • Takes a lot of time to build
  yourself                          good working test
• You pay only for monthly          infrastructure
  hosting                         • Harder support
• You can switch to cloud         • Needs smart Developers in
  from your local-built             Test to design frameworks
  environment
Cloud
                      services




Selenium
                                          Jenkins CI
  Grid

                      Ideal QA
                    Environment




        Multiple
                                     xUnit
       browser/OS
                                  Framework
         support
Questions? Ideas?
         My contact info:
ua.linkedin.com/in/ruslanstraznhyk
twitter.com/strazhnyk
ruslanstrazhnyk

         strazhnyk@gmail.com

         http://www.maven.co/join/TUHvWu8K

More Related Content

PPTX
Parallel Testing with Python with Selenium and Sauce Labs
PDF
Meet the Selenium Grid
PPTX
Selenium-Grid-Extras
PDF
Selenium testing
PDF
Grid Router – scalable and fault tolerant solution for Selenium grid
PDF
Selenium and Sauce Labs
PPTX
Scaling and Managing Selenium Grid
PPTX
Moving From a Selenium Grid to the Cloud - A Real Life Story
Parallel Testing with Python with Selenium and Sauce Labs
Meet the Selenium Grid
Selenium-Grid-Extras
Selenium testing
Grid Router – scalable and fault tolerant solution for Selenium grid
Selenium and Sauce Labs
Scaling and Managing Selenium Grid
Moving From a Selenium Grid to the Cloud - A Real Life Story

What's hot (20)

PPTX
Manage your environment with DSC
PPTX
LONDON SDET MEETUP - Difference between Selenium and Cypress presentation
PDF
Cypress new old Selenium
PPTX
Cross browser testing
PDF
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
PDF
Taking Spring Apps for a Spin on Microsoft Azure Cloud
PPTX
Async webdriverjs
PPTX
Automation: PowerShell & DSC
PPTX
QA Fest 2017. Александр Хотемской. Современные возможности в организации Prot...
KEY
Using the Atlassian Plugin Platform to Create Your Own SaaS Plugin Platform
PDF
Building software by feature with immutable infrastructures on AWS
PDF
Scalable Selenium cluster: up and running
PPTX
Selenoid + Allure - How to use these tools together?
PPTX
Cross browser testing with browser stack
PPTX
Continuous Testing in the Agile Age
PPTX
Zalenium - Czyli lepszy Selenium Grid
PPTX
One Does Not Simply Walk Into Devops
PDF
Mobile automation: a three act tragedy
PPTX
Sauce Labs for Visual Studio Team Services & TFS
PDF
Best Angular Training Online: Angular tutorial | Learn Angular 2 to 10 |
Manage your environment with DSC
LONDON SDET MEETUP - Difference between Selenium and Cypress presentation
Cypress new old Selenium
Cross browser testing
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
Taking Spring Apps for a Spin on Microsoft Azure Cloud
Async webdriverjs
Automation: PowerShell & DSC
QA Fest 2017. Александр Хотемской. Современные возможности в организации Prot...
Using the Atlassian Plugin Platform to Create Your Own SaaS Plugin Platform
Building software by feature with immutable infrastructures on AWS
Scalable Selenium cluster: up and running
Selenoid + Allure - How to use these tools together?
Cross browser testing with browser stack
Continuous Testing in the Agile Age
Zalenium - Czyli lepszy Selenium Grid
One Does Not Simply Walk Into Devops
Mobile automation: a three act tragedy
Sauce Labs for Visual Studio Team Services & TFS
Best Angular Training Online: Angular tutorial | Learn Angular 2 to 10 |
Ad

Viewers also liked (7)

PPTX
Elments Used on Jmeter
PPTX
Qaprocess 121210082249-phpapp01
PPT
Ciclos de vida_del_software
PPTX
Making Watir and Cucumber an efficient tool for Web UI Automation
PPTX
Using Jenkins and Jmeter to build a scalable Load Testing solution
PPTX
How to Analyze Reports in Jmeter
PPT
Performance testing and reporting with JMeter
Elments Used on Jmeter
Qaprocess 121210082249-phpapp01
Ciclos de vida_del_software
Making Watir and Cucumber an efficient tool for Web UI Automation
Using Jenkins and Jmeter to build a scalable Load Testing solution
How to Analyze Reports in Jmeter
Performance testing and reporting with JMeter
Ad

Similar to Selenium practical (20)

PPTX
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
PPTX
Test automation proposal
PPT
Selenium for everyone
PPTX
test_automation_POC
PDF
Getting to Walk with DevOps
PPTX
Devops architecture
PPTX
MyHeritage - QA Automations in a Continuous Deployment environment
PDF
2015 jcconf-h2s-devops-practice
PDF
Microsoft power point automation-opensourcetestingtools_matrix-1
PDF
Microsoft power point automation-opensourcetestingtools_matrix-1
PDF
KrishnaToolComparisionPPT.pdf
PDF
Karim Fanadka
PPTX
Selenium Introduction and IDE
PPTX
#ATAGTR2020 Presentation - Universal Test Automation Framework
PPTX
Groovy & Grails - From Scratch to Production
PPSX
Selenium - Introduction
PPTX
Selenium - Introduction
PPTX
Selenium
PPTX
Software devops engineer in test (SDET)
PDF
Tech Talk on Cloud Computing
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Test automation proposal
Selenium for everyone
test_automation_POC
Getting to Walk with DevOps
Devops architecture
MyHeritage - QA Automations in a Continuous Deployment environment
2015 jcconf-h2s-devops-practice
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1
KrishnaToolComparisionPPT.pdf
Karim Fanadka
Selenium Introduction and IDE
#ATAGTR2020 Presentation - Universal Test Automation Framework
Groovy & Grails - From Scratch to Production
Selenium - Introduction
Selenium - Introduction
Selenium
Software devops engineer in test (SDET)
Tech Talk on Cloud Computing

Recently uploaded (20)

PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Tartificialntelligence_presentation.pptx
PDF
Empathic Computing: Creating Shared Understanding
PDF
Getting Started with Data Integration: FME Form 101
PDF
Approach and Philosophy of On baking technology
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
A comparative analysis of optical character recognition models for extracting...
PPT
Teaching material agriculture food technology
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Encapsulation theory and applications.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Machine learning based COVID-19 study performance prediction
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
cloud_computing_Infrastucture_as_cloud_p
NewMind AI Weekly Chronicles - August'25-Week II
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Unlocking AI with Model Context Protocol (MCP)
Encapsulation_ Review paper, used for researhc scholars
Building Integrated photovoltaic BIPV_UPV.pdf
Tartificialntelligence_presentation.pptx
Empathic Computing: Creating Shared Understanding
Getting Started with Data Integration: FME Form 101
Approach and Philosophy of On baking technology
Reach Out and Touch Someone: Haptics and Empathic Computing
A comparative analysis of optical character recognition models for extracting...
Teaching material agriculture food technology
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
Encapsulation theory and applications.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Machine learning based COVID-19 study performance prediction
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Spectral efficient network and resource selection model in 5G networks
cloud_computing_Infrastucture_as_cloud_p

Selenium practical

  • 1. Selenium in the life of day-to-day testing. Practical aspects. Ruslan Strazhnyk February 2012
  • 2. About me Ruslan Strazhnyk • Experience – more than 6 years in IT • Position: – QA Automation Engineer • Skills: – Python, Selenium, Jenkins – Jmeter, Cloud Services www.maven.co
  • 3. Agenda • Part1 – Selenium Grid and Jenkins – xUnit frameworks – Issues with some browsers • Part2 – Selenium in the cloud. Integration with various cloud services – Build your own infrastructure in the cloud
  • 5. Part 1 Using selenium for functional testing in continuous integration.
  • 6. How QA always like Well, maybe not always
  • 7. Introduction. How do we QA? • What do we always have: – QA mess on the project – How to support all specifications – Team coordination?! • What do we want to achieve: – Results visibility – Better cooperation – Customer satisfaction
  • 9. Selenium Grid and Jenkins plugin. • What is Continuous Integration • Role of Selenium Grid in CI • Jenkins Selenium plugin • Other plugins that should help: – Test Report (xUnit) – Violations, TestCoverage – Rebuild – Extended choice plugin – Repository connectors
  • 12. How can Jenkins serve you • What it helps and what it doesn’t • Create as many jobs as needed • CI for you project is not only test automation • Has a lot of really useful plugins and features • Let your all team work on it, not only you
  • 13. Want to know more? Refer to book!
  • 15. Jenkins Selenium Plugin Pros Cons • Almost as built-in. Easy to • Manual update to new install and track Selenium Server through • Console output workaround • All in one • No control
  • 17. Nodes tune-up • How to add multiple OS/ browser version support • Different run-scripts for every browser – Firefox profile template – Googlechrome driver – Iexplore security issues • Autostart tasks • VM environment
  • 19. Configuration hints java -jar C:/Selenium/selenium-server-standalone-2.19.0.jar -role webdriver -hub http://192.168.1.33:4444/grid/register -port 5555 -nodeTimeout 1200 - firefoxProfileTemplate "C:/selenium/firefox/ilki8ovl.selenium" -browser browserName=firefox,version=10,platform=WINDOWS java -jar C:/Selenium/selenium-server-standalone-2.19.0.jar -role webdriver - Dwebdriver.chrome.driver="C:/selenium/chromedriver.exe" -hub http://192.168.1.33:4444/grid/register -port 5559 -nodeTimeout 1200 -browser browserName=chrome,platform=WINDOWS
  • 21. Potential Browser problems • It all suck, no ONE FITS ALL solution – Better to do it one by one – Start with easier • Windows is Windows – Different CSS and XPATH – Slow performance • SSL support • Proxy support • Let you control the browser not browser control you
  • 23. Nosetests as a universal xUnit framework • Features – Unitestplugin support – Short commands – Junit result output • Plugins – Include third-party plugins – Testconfig
  • 25. Part 2 Selenium in the cloud. Integration with BrowserMob, SauceLabs, ShiningPanda, AmazonEC2
  • 26. How could cloud testing help your project. When to turn cloud. • When you need cloud services: – Everybody needs unless you’re not Facebook, Google, Cisco – Having own cluster base is expensive – You have a start-up and your team is remote – You want to quickly show results to customers, investors etc.
  • 28. Semi-paid and semi-free services. • A lot of services grow up recently: – Saas services – Cloud hosting(Amazon, Rackspace) • You are the boss, you choose: – Strong tech skills and you want full control – Rackspace, Amazon EC2 – Less skills to admin – Sauce Labs, BrowserMob, others
  • 30. Traditional Load Testing Pros Cons • Everything is configurable to • Takes weeks to build good yourself working test infrastructure • A lot of Free tools (Jmeter, • A lot of computer power is Grinder etc.) required to run really good load tests
  • 32. Load Testing with BrowserMob
  • 33. Ready cloud services Pros Cons • Already includes all services you only start thinking of • Non-free use • Video capturing and good • Dependency on the service error parsing provider • Easy API
  • 36. Is it Really Fast?
  • 37. Do it yourself. Dedicated Cloud • When you need something done right, do it yourself • Traditional way of using cloud - PaaS • A lot of providers, most of them have good pricing: – Rackspace Cloud Servers – Amazon Web Services – Joyent – GoGrid – SkytapNetworks
  • 39. Do it yourself. Dedicated Cloud Pros Cons • Everything is configurable to • Takes a lot of time to build yourself good working test • You pay only for monthly infrastructure hosting • Harder support • You can switch to cloud • Needs smart Developers in from your local-built Test to design frameworks environment
  • 40. Cloud services Selenium Jenkins CI Grid Ideal QA Environment Multiple xUnit browser/OS Framework support
  • 41. Questions? Ideas? My contact info: ua.linkedin.com/in/ruslanstraznhyk twitter.com/strazhnyk ruslanstrazhnyk [email protected] http://www.maven.co/join/TUHvWu8K

Editor's Notes

  • #5: To be practical – find a balance in your testing projectsDo things rationally
  • #7: How QA always like: Mess in the project. Nobody knows who is doing something. Developers don’t care about build frequency, unit tests. Testers do not know who failed the build.