Managing Large Selenium Grid

3,270 views
2,973 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
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,270
On SlideShare
0
From Embeds
0
Number of Embeds
1,061
Actions
Shares
0
Downloads
21
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

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

×