Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Managing Large Selenium Grid
Dima Kovalenko (@dimacus)
Jack Calzaretta
http://seleniumcamp.com
VMs
www.xenproject.org
Open Source
• GNU License
• Free
Fast
• Lightweight
• Windows restarts in 5 seconds
• 8 Windows 7 VMs on 1 host
Stable
• 1.5 years with 0 maintenance
Controls
• Complete control from linux shell
Controls
• Complete control from linux shell
• Making new VMs by copy/paste
• Windows info stored in text file
• Can use a...
Example Config
Network
• Bridge network
• Easy network setup
GUI Access
• VNC
• Each Windows instance listens on different
port
Disadvantages
• Need some linux experience
• No GUI
• Does not have as many features as VMWare
• A lot of initial work
Proxy
Problem
• Many computers
• Many datacenters
• A lot of firewalls
Reverse tunnel
• SauceConnect
Reverse tunnel
• SauceConnect
• Slow
Reverse tunnel
• SauceConnect
• Slow
• Can be Unstable
• Machine to port nightmare
Proxy Tunnels
Browser Proxy Settings
• Set Browser to use 1 port
• Set white list of reachable assets
JVM
• -Dhttp.proxyHost=
• -Dhttp.proxyPort=
• Java -Dhttp.proxyHost=123 -
Dhttp.proxyPort=123 –jar selenium.jar –role
hub
GridExtras
• https://github.com/groupon/Selenium-Grid-
Extras
Goal
• Stabilize OS in Grid
• Give control over grid nodes
Tie Into Hub
• DefaultProxy class
• Pre/After Session hook
Status Servlet
• Added new servlet for node status
• Json return
Features
• Turn on/off IE Protected mode
• Update Webdriver
• Update Chrome Driver
• Update IEDriver
• Kill Any Browser
• ...
Help Us out
• Java
• Very friendly
• https://github.com/groupon/Selenium-Grid-
Extras
Thank you
• Dima Kovalenko
• @dimacus
Managing Large Selenium Grid�
Managing Large Selenium Grid�
Managing Large Selenium Grid�
Managing Large Selenium Grid�
Managing Large Selenium Grid�
Managing Large Selenium Grid�
Managing Large Selenium Grid�
Managing Large Selenium Grid�
Managing Large Selenium Grid�
Managing Large Selenium Grid�
Managing Large Selenium Grid�
Managing Large Selenium Grid�
Managing Large Selenium Grid�
Managing Large Selenium Grid�
Managing Large Selenium Grid�
Managing Large Selenium Grid�
Managing Large Selenium Grid�
Managing Large Selenium Grid�
Managing Large Selenium Grid�
Managing Large Selenium Grid�
Managing Large Selenium Grid�
Managing Large Selenium Grid�
Managing Large Selenium Grid�
Managing Large Selenium Grid�
Managing Large Selenium Grid�
Managing Large Selenium Grid�
Managing Large Selenium Grid�
Managing Large Selenium Grid�
Upcoming SlideShare
Loading in …5
×

Managing Large Selenium Grid

4,162 views

Published on

Presentation for 2014 Selenium Camp In Kiev

Link to audio of the presentation
http://www.youtube.com/watch?v=OrtR_k1biOg&feature=youtu.be

Published in: Education
  • Be the first to comment

Managing Large Selenium Grid

  1. 1. Managing Large Selenium Grid Dima Kovalenko (@dimacus) Jack Calzaretta
  2. 2. http://seleniumcamp.com
  3. 3. VMs
  4. 4. www.xenproject.org
  5. 5. Open Source • GNU License • Free
  6. 6. Fast • Lightweight • Windows restarts in 5 seconds • 8 Windows 7 VMs on 1 host
  7. 7. Stable • 1.5 years with 0 maintenance
  8. 8. Controls • Complete control from linux shell
  9. 9. Controls • Complete control from linux shell • Making new VMs by copy/paste • Windows info stored in text file • Can use any VCS to store configs
  10. 10. Example Config
  11. 11. Network • Bridge network • Easy network setup
  12. 12. GUI Access • VNC • Each Windows instance listens on different port
  13. 13. Disadvantages • Need some linux experience • No GUI • Does not have as many features as VMWare • A lot of initial work
  14. 14. Proxy
  15. 15. Problem • Many computers • Many datacenters • A lot of firewalls
  16. 16. Reverse tunnel • SauceConnect
  17. 17. Reverse tunnel • SauceConnect • Slow
  18. 18. Reverse tunnel • SauceConnect • Slow • Can be Unstable • Machine to port nightmare
  19. 19. Proxy Tunnels
  20. 20. Browser Proxy Settings • Set Browser to use 1 port • Set white list of reachable assets
  21. 21. JVM • -Dhttp.proxyHost= • -Dhttp.proxyPort= • Java -Dhttp.proxyHost=123 - Dhttp.proxyPort=123 –jar selenium.jar –role hub
  22. 22. GridExtras • https://github.com/groupon/Selenium-Grid- Extras
  23. 23. Goal • Stabilize OS in Grid • Give control over grid nodes
  24. 24. Tie Into Hub • DefaultProxy class • Pre/After Session hook
  25. 25. Status Servlet • Added new servlet for node status • Json return
  26. 26. Features • Turn on/off IE Protected mode • Update Webdriver • Update Chrome Driver • Update IEDriver • Kill Any Browser • Check any OS Port • Kill anything on a given port • Reboot OS • Take OS Screenshot • Etc..
  27. 27. Help Us out • Java • Very friendly • https://github.com/groupon/Selenium-Grid- Extras
  28. 28. Thank you • Dima Kovalenko • @dimacus

×