About me
Java & Golang developer
Allure Framework contributor
Devops
Big Selenium cluster
Big Selenium cluster
5000+ browsers
5 data centers
4000 rps
800 Mbit/s
24/7/365
Linux (desktop)
Windows (IE, Edge)
Android Emulators
iOS Simulators
Real devices
Ways to test in browsers
#1: test online
#2: Selenium Server
SelenoidSelenium
#3: Selenoid
How Selenium works
Linux covers 80% of browsers
Let’s use containers!
How Selenoid works
Selenoid Container
Selenoid without Docker
Selenoid applications
Local browser tests development
Creating big Selenium clusters
Installation
StackOverflow statistics
> 60 000 questions about Selenium
Installing Selenium
Manually install Java
Manually download Selenium JAR
Manually download web-driver binaries
Manually unpack web-drivers from archives
Manually install required browsers
Manually type complicated start command
Installing Selenoid
Just one short command:
$./cm selenoid start
Running tests
Selenium window focus problem
Selenium browser settings problem
Selenoid runs isolated browsers
Debugging tests
Selenium: grid console and eyes
Selenoid: rich UI
Selenoid: usage statistics
Live Browser Screen
Live Selenium Logs
Adding new browsers
Installing new version is a pain
/usr/bin
FF 45
FF 46
Selenium compatibility issues
Chromedriver ???56
Computer is cluttered with waste
Selenoid: self-contained images
Images for all recent browsers
3.6+ 33.0+
12.16
48.0+
Custom screen resolution
Compatible with other images
https://github.com/SeleniumHQ/docker-selenium
https://github.com/elgalu/docker-selenium
https://github.com/paypal/docker-selion
Demo
Creating big cluster
Selenium Grid
Selenium Grid flaws
It is Java increased memory consumption
→
Built-in UI consuming resources
No simple way to collect usage statistics & logs
Hard to maintain different browser versions