Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Your tests will ask you to repeat Kirill Merkushev Scalable selenium infrastructure
Slide 2
Slide 2 text
2 less than 1
Slide 3
Slide 3 text
3 less than 10 1
Slide 4
Slide 4 text
4 less than 10 100 1 MORE than
Slide 5
Slide 5 text
5 Kirill Merkushev Open Source aerokube.com JAVA Go
Slide 6
Slide 6 text
6 driver Browser JAva Python JS BINDINGS WEBdriver protocol Internal protocol webdriver architecture
Slide 7
Slide 7 text
7 driver Browser JAva Python JS BINDINGS WEBdriver protocol Internal protocol selenium webdriver architecture WEBdriver protocol over NEt Selenium
Slide 8
Slide 8 text
8 Same tests
Slide 9
Slide 9 text
9 Same tests new env new errors? But
Slide 10
Slide 10 text
10 Same configuration? LOCAL SERVER
Slide 11
Slide 11 text
11 Same configuration? LOCAL SERVER
Slide 12
Slide 12 text
12 With stock selenium server your infrastructure is mutable
Slide 13
Slide 13 text
13 PlanWhat we have Alternatives one command to rule them all
Slide 14
Slide 14 text
14 WE HAVE SElenium server
Slide 15
Slide 15 text
15 driver Browser JAva Python JS BINDINGS WEBdriver protocol Internal protocol selenium webdriver architecture WEBdriver protocol over NEt Selenium
Slide 16
Slide 16 text
16 Official PROS
Slide 17
Slide 17 text
17 Official Widely used PROS
Slide 18
Slide 18 text
18 Official Widely used 44,902 Stackoverflow QA PROS
Slide 19
Slide 19 text
19 1 Browser = 1 server Cons
Slide 20
Slide 20 text
20 1 Browser = 1 server Setup All by yourself Cons
Slide 21
Slide 21 text
21 1 Browser = 1 server Setup All by yourself Cons java overhead
Slide 22
Slide 22 text
22 1 Browser = 1 server Setup All by yourself 44,902 Stackoverflow QA Cons java overhead
Slide 23
Slide 23 text
23 alternatives
Slide 24
Slide 24 text
24 alternatives selenium-standalone npm install -g
Slide 25
Slide 25 text
25 alternatives selenium-standalone start
Slide 26
Slide 26 text
26 alternatives selenium-standalone only local
Slide 27
Slide 27 text
27 alternatives selenium-standalone only local +npm!
Slide 28
Slide 28 text
28 alternatives zalando/zalenium github.com
Slide 29
Slide 29 text
29 alternatives zalando/zalenium github.com containers
Slide 30
Slide 30 text
30 alternatives zalando/zalenium github.com containers cloud providers
Slide 31
Slide 31 text
31 alternatives zalando/zalenium github.com containers cloud providers video
Slide 32
Slide 32 text
32 alternatives zalando/zalenium github.com 755MB
Slide 33
Slide 33 text
33 alternatives zalando/zalenium github.com 755MB MONOLITH
Slide 34
Slide 34 text
34 Aerokube Selenoid ui cm ggr .com
Slide 35
Slide 35 text
35 unix way do one thing, but do it well
Slide 36
Slide 36 text
36 cm selenoid start
Slide 37
Slide 37 text
37 cm selenoid start github.com/aerokube/cm
Slide 38
Slide 38 text
38 cm selenoid start containers (3/84)
Slide 39
Slide 39 text
39 cm selenoid start containers (3/84) driver, fonts, xfvb
Slide 40
Slide 40 text
40 cm selenoid start containers (3/84) driver, fonts, xfvb vnc
Slide 41
Slide 41 text
41 cm selenoid start containers (3/84) driver, fonts, xfvb vnc in seconds
Slide 42
Slide 42 text
42 cm selenoid start webdriver protocol implementation
Slide 43
Slide 43 text
43 cm selenoid start webdriver protocol implementation golang = single binary
Slide 44
Slide 44 text
44 cm selenoid start webdriver protocol implementation 7mb golang = single binary
Slide 45
Slide 45 text
45 Same on local and remote features
Slide 46
Slide 46 text
46 Same on local and remote features Queues
Slide 47
Slide 47 text
47 Same on local and remote features Queues Custom capabilities
Slide 48
Slide 48 text
48 Same on local and remote features Queues Custom capabilities Not only containers
Slide 49
Slide 49 text
49 Optimal configuration 1 browser 1xcpu 1GB RAM AUfs/overlayfs TMPFS
Slide 50
Slide 50 text
50 { "firefox": { } } browsers.json browser type
Slide 51
Slide 51 text
51 { "firefox": { "versions": { } } } browsers.json Versions map
Slide 52
Slide 52 text
52 { "firefox": { "default": "46.0", "versions": { "46.0": { "image": "selenoid/firefox:46.0", "port": "4444", } } } } browsers.json if not specified docker/binary
Slide 53
Slide 53 text
53 Need UI?
Slide 54
Slide 54 text
54 Need UI?
Slide 55
Slide 55 text
55 scalability resilience GGR
Slide 56
Slide 56 text
56 ggr Selenoid Selenoid alternative any selenium hub containers binary
Slide 57
Slide 57 text
57 ggr Selenoid Selenoid alternative any selenium hub containers binary ggr slb
Slide 58
Slide 58 text
58 works with any selenium hub Fully stateless Battle tested 2yrs GGR
Slide 59
Slide 59 text
59 Drawbacks
Slide 60
Slide 60 text
60 - Where UI for GGR?
Slide 61
Slide 61 text
61 - Where UI for GGR? /status - telegraf - grafana handle
Slide 62
Slide 62 text
62 GRAFANA aerokube/selenoid-grafana-example READY
Slide 63
Slide 63 text
63 - Too many tools to remember + configs + logs to manage
Slide 64
Slide 64 text
64 + configs + logs simple, no downtime upgrage docker log drivers - Too many tools to remember
Slide 65
Slide 65 text
65 - no video recording
Slide 66
Slide 66 text
66 - no video recording vnc separate solution for video
Slide 67
Slide 67 text
67 All for making your infrastructure immutable
Slide 68
Slide 68 text
68 6 months Support chat GitHub Stars 290 Docker pulls 10k Documentation Community 130 t.me/aerokube
Slide 69
Slide 69 text
69 How can it help you?
Slide 70
Slide 70 text
70 How can it help you? Easy to start
Slide 71
Slide 71 text
71 How can it help you? Easy to start Modular
Slide 72
Slide 72 text
72 How can it help you? Easy to start Modular Without overhead
Slide 73
Slide 73 text
73 How can help exactly you?
Slide 74
Slide 74 text
74 we are open to talk! aerokube.com github.com/aerokube t.me/aerokube kirill merkushev @delnariel github.com/lanwen