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.

QA Fest 2018. Иван Крутов. 1001 причина использовать Ggr в своем кластере Selenium

32 views

Published on

Современная разработка невозможна без эффективных инструментов. Тестирование и, в особенности, автоматическое тестирование в браузерах не исключение. С ростом команды вам требуется все больше и больше параллельно запускаемых браузеров. Всем известный Selenium server и архитектура Selenium Grid начинает работать медленно даже при нескольких десятках работающих браузеров. Ggr - это легковесное решение, отлично работающее даже в очень больших кластерах, состоящих из тысяч параллельно работающих браузерных сессий.
Этот доклад подробно рассматривает Ggr - эффективный балансировщик нагрузки для Selenium, незаменимый в случае, если вам нужно запускать десятки с сотни параллельных сессий. Я начну с основ балансировки нагрузки в Selenium и покажу все основные возможности Ggr. Вы увидите как легко посмотреть на любую работающую сессию в реальном времени или скачивать видео прошедших тестов для любой из сессий, выполняющихся на сотнях Selenium хостов.

Published in: Education
  • Be the first to comment

  • Be the first to like this

QA Fest 2018. Иван Крутов. 1001 причина использовать Ggr в своем кластере Selenium

  1. 1. 1001 reasons to use Ggr in your Selenium installation by Ivan Krutov
  2. 2. About me Java & Golang developer Selenoid core maintainer Devops Big Selenium cluster
  3. 3. Selenium clusters Typical Selenium Grid 50 browsers 10000 sessions / day 1 data center 5 rps 500 Kbit/s Sometimes down My cluster 5000+ browsers 2.5M sessions / day 5 data centers 4000 rps 2 Gbit/s 24/7/365
  4. 4. Available browsers
  5. 5. Why Growing number of desired browser sessions Growing number of teams Need to use different platforms
  6. 6. Fault Tolerance DC1 DC2
  7. 7. Scalability DC1 DC2 DC3 DC4
  8. 8. Standard API
  9. 9. Access control
  10. 10. Browser consumption control x 100 x 50 x 10someuser
  11. 11. Selenium Grid Nodes Hub Test
  12. 12. Selenium Grid is a hungry monster
  13. 13. Client-side Load Balancing
  14. 14. Hosts Information File
  15. 15. Client-side load balancing Fault-tolerant Scalable No access control Not standard Selenium
  16. 16. Big company = a lot of teams
  17. 17. Server-side Load Balancing
  18. 18. GoGridRouter (aka Ggr) 100% Golang 6 Mb binary 400 rps 200 Mb RAM→
  19. 19. How to run your tests Standard Selenium server: http://example.com:4444/wd/hub GridRouter: http://user:password@example.com:4444/wd/hub
  20. 20. Multiple Datacenter Problem Ggr1 Ggr2 Host with browsers New session Open page ?
  21. 21. Original session ID: e0dfdda0-1786-4e8f-987b-29a61f5c165e md5(‘http://example.com:4444’): 798744d2b7036ba36c4ea285272bcd48 Extended session ID: 798744d2b7036ba36c4ea285272bcd48e0dfdda0- 1786-4e8f-987b-29a61f5c165e Session ID magic
  22. 22. Ggr: First Steps
  23. 23. Modifying Cluster with no Downtime
  24. 24. Reloading Configuration Ggr SIGHUP
  25. 25. Scaling the Cluster
  26. 26. Graphical User Interface Selenoid /status Selenoid UI
  27. 27. Ggr UI Ggr UI /status Selenoid UI Selenoid 1 Selenoid N Selenoid 2 ... /status
  28. 28. Ggr UI Demo
  29. 29. Proxying Logs and Videos Selenoid 1 Selenoid N Selenoid 2 ... Ggr /logs/session-id.log /video/session-id.mp4 long-session-id
  30. 30. Proxying Demo
  31. 31. Ggr is Selenium Future Selenium Grid Ggr
  32. 32. References @aerokube https://t.me/aerokube https://aerokube.com/ vania-pooh@aerokube.com https://github.com/aerokube/selenoid https://github.com/aerokube/ggr https://github.com/aerokube/ggr-ui

×