Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Your tests will ask you to repeat. Scallable Im...
Search
Merkushev Kirill
November 08, 2017
Programming
420
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Your tests will ask you to repeat. Scallable Immutable Selenium Infrastructure.
How to setup cool selenium infrastructure using Aerokube toolchain
Merkushev Kirill
November 08, 2017
More Decks by Merkushev Kirill
See All by Merkushev Kirill
Проект на Java и библиотеке Reactor - а как же тесты?
lanwen
0
120
[RU] Codegeneration in Java as way to solve autotest problems
lanwen
0
210
[RU] Codegeneration as way to help test automation engeneers
lanwen
0
120
Juseppe
lanwen
1
670
[RU] GIMME your first Autotest!
lanwen
1
450
SPb Jenkins Meetup #0 Как начать писать плагин для Jenkins? И когда этого не делать?
lanwen
3
790
Other Decks in Programming
See All in Programming
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
34
15k
contenteditable と日本語入力に向き合う
colorful12
0
160
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
550
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
7.7k
dotNET_vulnclicker_intro.pdf
deka_morita
0
110
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
190
AWSに止められる覚悟してますか?
morizo_1984
2
520
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
2.9k
すこし踏み込む CancellationToken
htkym
2
1.6k
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
350
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
7
2.4k
Featured
See All Featured
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
The Cult of Friendly URLs
andyhume
79
7k
Visualization
eitanlees
153
17k
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
250
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.7k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
300
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
690
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
RailsConf 2023
tenderlove
30
1.6k
Transcript
Your tests will ask you to repeat Kirill Merkushev Scalable
selenium infrastructure
2 less than 1
3 less than 10 1
4 less than 10 100 1 MORE than
5 Kirill Merkushev Open Source aerokube.com JAVA Go
6 driver Browser JAva Python JS BINDINGS WEBdriver protocol Internal
protocol webdriver architecture
7 driver Browser JAva Python JS BINDINGS WEBdriver protocol Internal
protocol selenium webdriver architecture WEBdriver protocol over NEt Selenium
8 Same tests
9 Same tests new env new errors? But
10 Same configuration? LOCAL SERVER
11 Same configuration? LOCAL SERVER
12 With stock selenium server your infrastructure is mutable
13 PlanWhat we have Alternatives one command to rule them
all
14 WE HAVE SElenium server
15 driver Browser JAva Python JS BINDINGS WEBdriver protocol Internal
protocol selenium webdriver architecture WEBdriver protocol over NEt Selenium
16 Official PROS
17 Official Widely used PROS
18 Official Widely used 44,902 Stackoverflow QA PROS
19 1 Browser = 1 server Cons
20 1 Browser = 1 server Setup All by yourself
Cons
21 1 Browser = 1 server Setup All by yourself
Cons java overhead
22 1 Browser = 1 server Setup All by yourself
44,902 Stackoverflow QA Cons java overhead
23 alternatives
24 alternatives selenium-standalone npm install -g
25 alternatives selenium-standalone start
26 alternatives selenium-standalone only local
27 alternatives selenium-standalone only local +npm!
28 alternatives zalando/zalenium github.com
29 alternatives zalando/zalenium github.com containers
30 alternatives zalando/zalenium github.com containers cloud providers
31 alternatives zalando/zalenium github.com containers cloud providers video
32 alternatives zalando/zalenium github.com 755MB
33 alternatives zalando/zalenium github.com 755MB MONOLITH
34 Aerokube Selenoid ui cm ggr .com
35 unix way do one thing, but do it well
36 cm selenoid start
37 cm selenoid start github.com/aerokube/cm
38 cm selenoid start containers (3/84)
39 cm selenoid start containers (3/84) driver, fonts, xfvb
40 cm selenoid start containers (3/84) driver, fonts, xfvb vnc
41 cm selenoid start containers (3/84) driver, fonts, xfvb vnc
in seconds
42 cm selenoid start webdriver protocol implementation
43 cm selenoid start webdriver protocol implementation golang = single
binary
44 cm selenoid start webdriver protocol implementation 7mb golang =
single binary
45 Same on local and remote features
46 Same on local and remote features Queues
47 Same on local and remote features Queues Custom capabilities
48 Same on local and remote features Queues Custom capabilities
Not only containers
49 Optimal configuration 1 browser 1xcpu 1GB RAM AUfs/overlayfs TMPFS
50 { "firefox": { } } browsers.json browser type
51 { "firefox": { "versions": { } } } browsers.json
Versions map
52 { "firefox": { "default": "46.0", "versions": { "46.0": {
"image": "selenoid/firefox:46.0", "port": "4444", } } } } browsers.json if not specified docker/binary
53 Need UI?
54 Need UI?
55 scalability resilience GGR
56 ggr Selenoid Selenoid alternative any selenium hub containers binary
57 ggr Selenoid Selenoid alternative any selenium hub containers binary
ggr slb
58 works with any selenium hub Fully stateless Battle tested
2yrs GGR
59 Drawbacks
60 - Where UI for GGR?
61 - Where UI for GGR? /status - telegraf -
grafana handle
62 GRAFANA aerokube/selenoid-grafana-example READY
63 - Too many tools to remember + configs +
logs to manage
64 + configs + logs simple, no downtime upgrage docker
log drivers - Too many tools to remember
65 - no video recording
66 - no video recording vnc separate solution for video
67 All for making your infrastructure immutable
68 6 months Support chat GitHub Stars 290 Docker pulls
10k Documentation Community 130 t.me/aerokube
69 How can it help you?
70 How can it help you? Easy to start
71 How can it help you? Easy to start Modular
72 How can it help you? Easy to start Modular
Without overhead
73 How can help exactly you?
74 we are open to talk! aerokube.com github.com/aerokube t.me/aerokube kirill
merkushev @delnariel github.com/lanwen