Grid Router – scalable and fault tolerant solution for Selenium grid
-
Upload
mikhail-levin -
Category
Software
-
view
816 -
download
3
Transcript of Grid Router – scalable and fault tolerant solution for Selenium grid
![Page 1: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/1.jpg)
Grid Router – scalable and fault tolerant solution for grid
Mikhail Levin, Yandexhttps://github.com/seleniumkit/gridrouterhttps://github.com/seleniumkit/selenograph
![Page 2: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/2.jpg)
Requirements for large Selenium grid
![Page 3: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/3.jpg)
3
Selenium HubSelenium Node
Selenium Node
Selenium Node
![Page 4: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/4.jpg)
4
Selenium HubSelenium Node
Selenium Node
Selenium Node
〉Reliability
〉Sacalability
〉Standart components
〉Access and resources management
![Page 5: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/5.jpg)
Balance It!
![Page 6: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/6.jpg)
Client side balancing
Selenium Hub
Selenium Hub
Selenium Hub
Selenium Hub
@test + browsers.xml
![Page 7: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/7.jpg)
Selenium Hub
Selenium Hub
Selenium Hub
Selenium Hub
@test Runtime
browsers.xml
Client side balancing
![Page 8: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/8.jpg)
Selenium Hub
Selenium Hub
Selenium Hub
Selenium Hub
@test Runtime
browsers.xml
Not standart
Client side balancing
![Page 9: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/9.jpg)
PyTestJs+WebdriverIO
JunitJS+wd
KarmaJenkins
TeamCityAQuA
etc
![Page 10: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/10.jpg)
Distributed selenium grid
Standart user API
!
Reliability and scalability
!
Access and resources management
![Page 11: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/11.jpg)
Tests
Distrubuted selenium hub
Node
Node
Node
Hub
Hub
Hub
Router/Balancer
Standart API
![Page 12: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/12.jpg)
〉Any number of heads
〉Any amount of browsers
〉No single point of failure
Fix size
Reliability and scalability
![Page 13: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/13.jpg)
Selenium Hub
Selenium Hub
Selenium Hub
Selenium Hub
@test Runtime
browsers.xml
Standrart API + scalability
![Page 14: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/14.jpg)
Grid-Router
Hub
Hub
HubTests Grid-Router
Grid-Router
Hub
Hub
Hub
SLB
Standrart API + scalability
![Page 15: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/15.jpg)
SessionID magic5277a32df29c468653b5a6a7106eb91346e51aeb-c800-401e-1de6-3c9e52bb0831
46e51aeb-c800-401e-1de6-3c9e52bb0831
Hub location
Grid-Router
SLB
Grid-Router Grid-Router
Hub
Selenium sessionID
![Page 16: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/16.jpg)
Hub configuration
Openstack VM - 2 core, 4Gbubuntu
Hub
xvfbNode + 1
xvfbNode + 1
… 5
newSessionWaitTimeout : 10000
![Page 17: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/17.jpg)
Grid-Router
Hub
Hub
HubTests Grid-Router
Grid-RouterHub
Hub
Hub
SLB
Standrart API + scalability
![Page 18: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/18.jpg)
Access and resources management
Quota_х.xml !
Basic http auth http://login:[email protected]:4444/wd/hub !
RouteServlet !
ProxyServlet
![Page 19: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/19.jpg)
MyQuota.xml
![Page 20: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/20.jpg)
Grid Router
Simple !
Join several hubs in one entry point !
Powerful !
With access management !
Scalable and reliable
![Page 21: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/21.jpg)
Further development
![Page 22: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/22.jpg)
Further development
Speed of search for available node !
Quoting by treads !
Reducing operational coasts !
User interface
![Page 23: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/23.jpg)
Further development
Grid Router
Selenograph
+ hub status + browser availability + sessions amount + web front
+
![Page 24: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/24.jpg)
Selenograph
![Page 25: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/25.jpg)
Further development
Grid Router
Selenograph
+ sessions amount + web front
+
+
![Page 26: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/26.jpg)
Grid Router Selenograph
![Page 27: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/27.jpg)
«Difficult» browsers
![Page 28: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/28.jpg)
![Page 29: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/29.jpg)
Hardware + x86 + -gpu mesa
Main troubles 〉Appium stability 〉adb capacity 〉Broken emulators
![Page 30: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/30.jpg)
Mac Mini
Hub - ?
vm
Appium + Xcode + 1 emulator
Appium + Xcode + 1 emulator
vm
![Page 31: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/31.jpg)
Main troubles 〉Appium stability 〉Instruments stabilty 〉Speed 〉Costs
![Page 32: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/32.jpg)
https://github.com/kybu/headless-selenium-for-win
Openstack VM - 2 cores, 4Gbwindows7
Hub
virtual desktop
Node + 1
… 4
desktop
virtual desktop
Node + 1
![Page 33: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/33.jpg)
windows7
Hub
virtual desktop
Node + 1
… 4
desktop
virtual desktop
Node + 1
〉Do NOT use capability requireWindowFocus=true 〉switch off drug&drop 〉switch off spellchecker 〉switch off ClearType
![Page 34: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/34.jpg)
Grid Router Selenograph
![Page 35: Grid Router – scalable and fault tolerant solution for Selenium grid](https://reader031.fdocuments.in/reader031/viewer/2022021922/5874157a1a28abcb5b8b53f3/html5/thumbnails/35.jpg)
Mikhail Levin, Yandex
https://github.com/seleniumkit/gridrouterGrid router:
https://github.com/seleniumkit/selenographSelenograph:
https://github.com/seleniumkit
https://github.com/kybu/headless-selenium-for-winWin solution:
Thanks!