Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
1001 reasons to use Ggr in your
Selenium installation
by Ivan Krutov
About me
Java & Golang developer
Selenoid core maintainer
Devops
Big Selenium cluster
Selenium clusters
Typical Selenium Grid
50 browsers
10000 sessions / day
1 data center
5 rps
500 Kbit/s
Sometimes down
My ...
Available browsers
Why
Growing number of desired browser sessions
Growing number of teams
Need to use different platforms
Fault Tolerance
DC1 DC2
Scalability
DC1 DC2 DC3 DC4
Standard API
Access control
Browser consumption control
x 100
x 50
x 10someuser
Selenium Grid
Nodes
Hub
Test
Selenium Grid is a hungry monster
Client-side Load Balancing
Hosts Information File
Client-side load balancing
Fault-tolerant
Scalable
No access control
Not standard Selenium
Big company = a lot of teams
Server-side Load Balancing
GoGridRouter (aka Ggr)
100% Golang
6 Mb binary
400 rps 200 Mb RAM→
How to run your tests
Standard Selenium server:
http://example.com:4444/wd/hub
GridRouter:
http://user:password@example.co...
Multiple Datacenter Problem
Ggr1
Ggr2
Host with browsers
New session
Open page
?
Original session ID:
e0dfdda0-1786-4e8f-987b-29a61f5c165e
md5(‘http://example.com:4444’):
798744d2b7036ba36c4ea285272bcd48...
Ggr: First Steps
Modifying Cluster with no Downtime
Reloading Configuration
Ggr
SIGHUP
Scaling the Cluster
Graphical User Interface
Selenoid
/status
Selenoid UI
Ggr UI
Ggr UI
/status
Selenoid UI
Selenoid 1
Selenoid N
Selenoid 2
...
/status
Ggr UI Demo
Proxying Logs and Videos
Selenoid 1
Selenoid N
Selenoid 2
...
Ggr
/logs/session-id.log
/video/session-id.mp4
long-session-...
Proxying Demo
Ggr is Selenium Future
Selenium Grid Ggr
References
@aerokube
https://t.me/aerokube
https://aerokube.com/
vania-pooh@aerokube.com
https://github.com/aerokube/selen...
Próxima SlideShare
Cargando en…5
×

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

194 visualizaciones

Publicado el

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

Publicado en: Educación
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

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

×