SlideShare a Scribd company logo
Scaling and Managing Selenium 
Grid 
Dima Kovalenko 
@dimacus
• Note to self, this slide should be completely 
blank, NO TEXT of any sort!
Scaling and Managing Selenium Grid
Shameless Plug 
ISBN: 9781783982707 
https://www.packtpub.com/web-development/selenium-design-patterns-and-best-practices
Scaling and Managing Selenium Grid
Explaining Grid 
• Dumb Nodes
Explaining Grid 
• Dumb Nodes 
• Even Dumber Hub
Hub is a Glorified Proxy Server 
• HUB is an HTTP Proxy 
• That tracks node count 
– Does not know much else about nodes
Getting Priorities Right 
• Stability 
• Speed 
• Coverage
Stability 
• Become a Sys Admin
Stability 
• Become a Sys Admin 
• Move as much to Linux as possible
Stability 
• Become a Sys Admin 
• Move as much to Linux as possible 
• Only 1 test at the time! 
- At least for 
IE 
Safari
Stability 
• Become a Sys Admin 
• Move as much to Linux as possible 
• Only 1 test at the time! 
- Shared resources at OS level
Stability 
• Become a Sys Admin 
• Move as much to Linux as possible 
• Only 1 test at the time! 
• Configuration as code 
– Git 
– Chef 
– Puppet
Configuration Management 
• Node Configs 
– Grid Hub Configs 
– Grid Node Configs 
– Store In Git
Configuration Management 
• Node Configs 
– Grid Hub Configs 
– Grid Node Configs 
– Store In Git 
• OS Configs 
– Crons 
– Versions 
• Browsers 
• Java 
• Etc..
Speed 
• Smaller Nodes 
– Better to have 10 computers with 1 browser 
• It’s ok to use low end machines
Speed 
• Smaller Nodes 
– Better to have 10 computers with 1 browser 
• It’s ok to use low end machines 
– Take performance hit in place of faster run time
Coverage 
• Can we add IE6 and 7 to the Grid?
Coverage
Coverage 
• More maintenance 
• IE8 takes 50% of free time 
• IE9 or > is much Safer to use
International Buy Jim Evans a BEER 
day!
International Buy Jim Evans a BEER 
day!
Scaling and Managing Selenium Grid
International Buy Jim Evans a BEER 
day!
Scaling and Managing Selenium Grid
More On Stability 
• Don’t Use RC 
– java -jar selenium.jar -role node
More On Stability 
• Don’t Use RC 
• Use WebDriver 
–java -jar selenium.jar -role wd
More On Stability 
• Replace Internet Explorer with Batch file 
• Create Crons (Scheduled Tasks) 
– Periodically Restart Grid node (JAR) 
– Periodically Restart Computer
More On Stability 
• Replace Internet Explorer with Batch file 
– Cleans up Cookies, Cache, etc 
– Launches Internet Explorere
More On Stability 
• Replace Internet Explorer with Batch file 
• Create Crons (Scheduled Tasks) 
• Auto login & Auto Start at login 
– Always auto login with the Build User
More On Stability 
• Replace Internet Explorer with Batch file 
• Create Crons (Scheduled Tasks) 
• Auto login & Auto Start at login 
• Etc.. Etc.. Etc..
Selenium Grid Extras 
• 1 year old
Selenium Grid Extras 
• https://github.com/groupon/Selenium-Grid- 
Extras
Goal of the Project 
• Document Grid Stability with code
Goal of the Project 
• Document Grid Stability with code 
– (Poorly written Java code that is) 
• Make the setup and maintenance of the grid 
simple
Features to improve stability 
• Automatically Set IE Protected Security Zone 
each reboot 
• Move the mouse out of the way 
• Kill web browser after Test 
• Kill chromedriver.exe and iedriver.exe after 
build 
• Automatically update Drivers and JARS 
• Store config for all nodes in single place
Latest Features 
• Restart node every X builds, when node is free 
• Jenkins Plugin 
• Video recording of test (Work in progress)
Optionally Reboot OS 
• Windows reboot not optional! 
• Improves speed and test stability 
• Prevents this:
Scaling and Managing Selenium Grid
Video Recording 
• (Work in Progress)
Demo
Jenkins Plugin 
• (Work in Progress)
Scaling and Managing Selenium Grid
Find IE Crashes at a Glance
Questions?

More Related Content

What's hot (20)

PPTX
Infrastructure Automation with Chef & Ansible
wajrcs
 
PPTX
Automated Deployments with Ansible
Martin Etmajer
 
PDF
AWS Developer Fundamentals
Josh Padnick
 
PDF
Ansible Introduction
Robert Reiz
 
PPTX
Ansible: How to Get More Sleep and Require Less Coffee
Sarah Z
 
PDF
Ansible v2 and Beyond (Ansible Hawai'i Meetup)
Timothy Appnel
 
PPTX
Network automation (NetDevOps) with Ansible
Bangladesh Network Operators Group
 
PDF
Ansible Case Studies
Greg DeKoenigsberg
 
PDF
ColdFusion builder plugins
ColdFusionConference
 
ODP
CommandBox REPL, CLI, and Package Manager
bdw429s
 
PDF
Ansible
Vishal Yadav
 
PDF
Compliance as Code
Matt Ray
 
PDF
Etcd- Mission Critical Key-Value Store
CoreOS
 
PDF
Network Automation with Ansible
Anas
 
PDF
Ansible + WordPress
Alan Lok
 
PDF
Ansible & Cumulus Networks - Simplify Network Automation
Cumulus Networks
 
PPTX
Opscode Webinar: Cooking with Chef on Microsoft Windows
Chef Software, Inc.
 
PDF
Mitchell Hashimoto, HashiCorp
Ontico
 
PDF
Ansible - A 'crowd' introduction
Manuel de la Peña Peña
 
PDF
Inside the Chef Push Jobs Service - ChefConf 2015
Chef
 
Infrastructure Automation with Chef & Ansible
wajrcs
 
Automated Deployments with Ansible
Martin Etmajer
 
AWS Developer Fundamentals
Josh Padnick
 
Ansible Introduction
Robert Reiz
 
Ansible: How to Get More Sleep and Require Less Coffee
Sarah Z
 
Ansible v2 and Beyond (Ansible Hawai'i Meetup)
Timothy Appnel
 
Network automation (NetDevOps) with Ansible
Bangladesh Network Operators Group
 
Ansible Case Studies
Greg DeKoenigsberg
 
ColdFusion builder plugins
ColdFusionConference
 
CommandBox REPL, CLI, and Package Manager
bdw429s
 
Ansible
Vishal Yadav
 
Compliance as Code
Matt Ray
 
Etcd- Mission Critical Key-Value Store
CoreOS
 
Network Automation with Ansible
Anas
 
Ansible + WordPress
Alan Lok
 
Ansible & Cumulus Networks - Simplify Network Automation
Cumulus Networks
 
Opscode Webinar: Cooking with Chef on Microsoft Windows
Chef Software, Inc.
 
Mitchell Hashimoto, HashiCorp
Ontico
 
Ansible - A 'crowd' introduction
Manuel de la Peña Peña
 
Inside the Chef Push Jobs Service - ChefConf 2015
Chef
 

Similar to Scaling and Managing Selenium Grid (20)

PDF
Introduction to Selenium grid
Knoldus Inc.
 
PPTX
Selenium practical
Ruslan Strazhnyk
 
PPTX
Stabilizing SE Build - Selenium conf 2013
dimakovalenko
 
PPTX
Autoscaled Distributed Automation using AWS at Selenium London MeetUp
aragavan
 
PPTX
Managing Large Selenium Grid
dimakovalenko
 
PPTX
Autoscaled Distributed Automation Expedia Know How
aragavan
 
PPTX
Distributed Automation(2018) - London Test Automation in Devops Meetup
aragavan
 
PDF
How to use Selenium Grid for Multi-Browser Testing.pdf
pcloudy2
 
PDF
Meet the Selenium Grid
Alexey Nikolaenko
 
ODP
Mastering selenium for automated acceptance tests
Nick Belhomme
 
PDF
Yevhenii Ovcharenko "Distributed automation testing using Minikube, Selenium ...
Fwdays
 
PPTX
Distributed automation sel_conf_2015
aragavan
 
PDF
The Selenium Grid: Run Multiple Automated Tests in Parallel
Josiah Renaudin
 
PPTX
JavaOne 2017 CON3276 - Selenium Testing Patterns Reloaded
Jorge Hidalgo
 
PPTX
Distributed automation selcamp2016
aragavan
 
PDF
Cross Browser Testing using Selenium GRID.pdf
SGBSeo
 
PDF
Cross Browser Testing using Selenium GRID
seo18
 
PPT
Selenium2 and Jenkins: Almost pain-free UI Testing
mikereedell
 
PPTX
Cross platform browser automation tests sdp
Oren Ashkenazy
 
PPTX
Selenium 101 Webinar
Daniel Herken
 
Introduction to Selenium grid
Knoldus Inc.
 
Selenium practical
Ruslan Strazhnyk
 
Stabilizing SE Build - Selenium conf 2013
dimakovalenko
 
Autoscaled Distributed Automation using AWS at Selenium London MeetUp
aragavan
 
Managing Large Selenium Grid
dimakovalenko
 
Autoscaled Distributed Automation Expedia Know How
aragavan
 
Distributed Automation(2018) - London Test Automation in Devops Meetup
aragavan
 
How to use Selenium Grid for Multi-Browser Testing.pdf
pcloudy2
 
Meet the Selenium Grid
Alexey Nikolaenko
 
Mastering selenium for automated acceptance tests
Nick Belhomme
 
Yevhenii Ovcharenko "Distributed automation testing using Minikube, Selenium ...
Fwdays
 
Distributed automation sel_conf_2015
aragavan
 
The Selenium Grid: Run Multiple Automated Tests in Parallel
Josiah Renaudin
 
JavaOne 2017 CON3276 - Selenium Testing Patterns Reloaded
Jorge Hidalgo
 
Distributed automation selcamp2016
aragavan
 
Cross Browser Testing using Selenium GRID.pdf
SGBSeo
 
Cross Browser Testing using Selenium GRID
seo18
 
Selenium2 and Jenkins: Almost pain-free UI Testing
mikereedell
 
Cross platform browser automation tests sdp
Oren Ashkenazy
 
Selenium 101 Webinar
Daniel Herken
 
Ad

More from dimakovalenko (6)

PPTX
Selenium Conf 2013 Lightning Talk - Any-Branch
dimakovalenko
 
PPT
Jasmine presentation Selenium Camp 2013
dimakovalenko
 
PDF
Selenium camp v1
dimakovalenko
 
PPT
Cucumber Presentation Kiev Meet Up
dimakovalenko
 
PPT
Evergreen build
dimakovalenko
 
PPT
Selenium and Cucumber Selenium Conf 2011
dimakovalenko
 
Selenium Conf 2013 Lightning Talk - Any-Branch
dimakovalenko
 
Jasmine presentation Selenium Camp 2013
dimakovalenko
 
Selenium camp v1
dimakovalenko
 
Cucumber Presentation Kiev Meet Up
dimakovalenko
 
Evergreen build
dimakovalenko
 
Selenium and Cucumber Selenium Conf 2011
dimakovalenko
 
Ad

Recently uploaded (20)

PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PDF
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
Staying Human in a Machine- Accelerated World
Catalin Jora
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
Staying Human in a Machine- Accelerated World
Catalin Jora
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 

Scaling and Managing Selenium Grid

  • 1. Scaling and Managing Selenium Grid Dima Kovalenko @dimacus
  • 2. • Note to self, this slide should be completely blank, NO TEXT of any sort!
  • 4. Shameless Plug ISBN: 9781783982707 https://www.packtpub.com/web-development/selenium-design-patterns-and-best-practices
  • 6. Explaining Grid • Dumb Nodes
  • 7. Explaining Grid • Dumb Nodes • Even Dumber Hub
  • 8. Hub is a Glorified Proxy Server • HUB is an HTTP Proxy • That tracks node count – Does not know much else about nodes
  • 9. Getting Priorities Right • Stability • Speed • Coverage
  • 10. Stability • Become a Sys Admin
  • 11. Stability • Become a Sys Admin • Move as much to Linux as possible
  • 12. Stability • Become a Sys Admin • Move as much to Linux as possible • Only 1 test at the time! - At least for IE Safari
  • 13. Stability • Become a Sys Admin • Move as much to Linux as possible • Only 1 test at the time! - Shared resources at OS level
  • 14. Stability • Become a Sys Admin • Move as much to Linux as possible • Only 1 test at the time! • Configuration as code – Git – Chef – Puppet
  • 15. Configuration Management • Node Configs – Grid Hub Configs – Grid Node Configs – Store In Git
  • 16. Configuration Management • Node Configs – Grid Hub Configs – Grid Node Configs – Store In Git • OS Configs – Crons – Versions • Browsers • Java • Etc..
  • 17. Speed • Smaller Nodes – Better to have 10 computers with 1 browser • It’s ok to use low end machines
  • 18. Speed • Smaller Nodes – Better to have 10 computers with 1 browser • It’s ok to use low end machines – Take performance hit in place of faster run time
  • 19. Coverage • Can we add IE6 and 7 to the Grid?
  • 21. Coverage • More maintenance • IE8 takes 50% of free time • IE9 or > is much Safer to use
  • 22. International Buy Jim Evans a BEER day!
  • 23. International Buy Jim Evans a BEER day!
  • 25. International Buy Jim Evans a BEER day!
  • 27. More On Stability • Don’t Use RC – java -jar selenium.jar -role node
  • 28. More On Stability • Don’t Use RC • Use WebDriver –java -jar selenium.jar -role wd
  • 29. More On Stability • Replace Internet Explorer with Batch file • Create Crons (Scheduled Tasks) – Periodically Restart Grid node (JAR) – Periodically Restart Computer
  • 30. More On Stability • Replace Internet Explorer with Batch file – Cleans up Cookies, Cache, etc – Launches Internet Explorere
  • 31. More On Stability • Replace Internet Explorer with Batch file • Create Crons (Scheduled Tasks) • Auto login & Auto Start at login – Always auto login with the Build User
  • 32. More On Stability • Replace Internet Explorer with Batch file • Create Crons (Scheduled Tasks) • Auto login & Auto Start at login • Etc.. Etc.. Etc..
  • 33. Selenium Grid Extras • 1 year old
  • 34. Selenium Grid Extras • https://github.com/groupon/Selenium-Grid- Extras
  • 35. Goal of the Project • Document Grid Stability with code
  • 36. Goal of the Project • Document Grid Stability with code – (Poorly written Java code that is) • Make the setup and maintenance of the grid simple
  • 37. Features to improve stability • Automatically Set IE Protected Security Zone each reboot • Move the mouse out of the way • Kill web browser after Test • Kill chromedriver.exe and iedriver.exe after build • Automatically update Drivers and JARS • Store config for all nodes in single place
  • 38. Latest Features • Restart node every X builds, when node is free • Jenkins Plugin • Video recording of test (Work in progress)
  • 39. Optionally Reboot OS • Windows reboot not optional! • Improves speed and test stability • Prevents this:
  • 41. Video Recording • (Work in Progress)
  • 42. Demo
  • 43. Jenkins Plugin • (Work in Progress)
  • 45. Find IE Crashes at a Glance