Selenium Grid can be a bit daunting to get up and running. Starting it is quite easy, but using it effectively can require pulling in third-party tools. In this workshop we’ll cover how to run your grid effectively, using best practices culled from several large grid installations.
Outline/Structure of the Workshop
- Describe what the grid is intended to solve, then get into how it solves it
- Going deeper into the funnel, how does it get its instructions, and how does it pass them to the nodes?
- We’ll start with the conventional setup of hub and node servers running on the same box, for simplicity.
- Different options and flags that can be used when starting the hub/node processes
- What kinds of logging do the nodes/hubs do that can help in debugging and investigating problems?
- What is Docker?
- How do you setup standalone & grid:hub-node using docker?
- Using docker-compose to simplify docker grid setup process
- How do you run a test in a container?
- How do you run a test against the docker grid setup?
- How do you look at the logs of tests running in a container?
- How to build your own docker image with custom browser versions
- Creating a hybrid Selenium Grid (docker + a local IE/Safari node).
- Integrating Selenium Grid to the CI pipeline (Jenkins).
- Setting up a UI manager for all your docker installations
- How do you scale containers?
- Running tests in parallel against a scaled Selenium Grid
- Selenium Grid on Amazon ECS using ecs-selenium
- Overview of third-party tools
- What is Selenium Grid its capabilities
- How to run a grid
- How to scale nodes
- How to debug
- How to build your own Docker images for custom browser requirements
Anyone who wants to learn about set up, debug and scale Selenium Grid
Prerequisites for Attendees
Selenium (mandatory) – As we will focus only on Grid and won’t cover how to write a script.
This will include installing Hyper-V
– This will include installing the latest version of VirtualBox
Linux Distributions: https://docker.github.io/engine/installation/linux/
– The requirements will vary depending on the flavor of Linux being used
Selenium-server-jar (latest): https://bit.ly/327RZjR
Latest Selenium 4 version 4.3.0.jar
You will also need the browser drivers and language bindings necessary for your target configuration, listed on this page: https://www.selenium.dev/downloads/
– If you intend to work with an auto-scaling Grid, an AWS account with full EC2 permissions.
– It is also recommended that you have Eclipse or IntelliJ, a GitHub account, and an open USB port so participants can share files using a thumb drive.
Tracing Selenium Grid
- Install Coursier via a homebrew `
brew install coursier/formulas/coursier`
- Install Jaeger via docker