This workshop shows how to build efficient and scalable browser automation infrastructure using new tools: Selenoid and Ggr. You will be taught why running browsers in containers is so efficient, how to easily install Selenoid for local development and then create a fault-tolerant cluster with Ggr load-balancer.
To attend this class it is recommended to have some experience with Selenium, Linux shell and Docker. We also expect to have Docker installed on your computer and have some example Selenium tests to run.
Target Audience:
Engineers
Workshop agenda:
Local browser tests development
Selenium WebDriver: 20 mins of theory.
Brief Selenium history
Current WebDriver architecture
How Selenoid works
Selenoid installation for tests development
What is required to start Selenoid.
Manual installation: creating config file, pulling browser images, starting Selenoid.
Shorter way: fully automated installation via CM tool
Selenoid UI installation and features.
Basic Selenoid features:
Custom screen resolution
Looking at live browser screen
Recording and downloading video
Custom test name
Updating browsers
Automatically
Manually
Creating Selenium WebDriver cluster
Selenium clusters theory.
Why Selenium Grid is not suitable.
Client-side load balancing.
Server-side load-balancing.
How to share state. Session ID magic.
Ggr server. How it works.
Setting up Ggr.
Creating users file
Creating quota file
Starting Ggr
Running tests against Ggr
Cluster Maintenance.
Changing available browsers with no downtime.
Adding users with no downtime.
How to deal with multiple quota files.
Proxying to external commercial Selenium services.
Adding more Ggr instances. Health checking instances.
Advanced Selenoid features for big clusters
Advanced browsers configuration file fields
Volumes
Environment variables
Tmpfs
Hosts entries
ShmSize
Sending logs to centralized logs storage.
Why? ELK (EBK) stack and alternatives.
How to configure Selenoid to send logs.
Sending statistics to centralized metrics storage.
/status API
Configuring Telegraf to upload statistics.
Creating statistics dashboard with Grafana.
Selenoid for Windows browsers.
How it works without Docker.
Difference in configuration file.
How to run multiple isolated sessions under Windows.