Elastic Functional Testing with Selenium and Docker

By Eric Smalling

Elevator Pitch

Selenium Grids can provide the platform parallelizing your web test suites but they can start to become unstable at scale and right-sizing them for multiple test loads can be challenging. Join us to learn how to leverage Docker to make Selenium Grids simple, scalable and always available.

Description

Parallelizing your Selenium test suites can greatly speed up your CD pipeline but management of Selenium Grids with large numbers of browser nodes can become troublesome. In this session you will learn how to set up and tear down grids quickly, sized exactly to the needs of your test suites. This solution uses “real” browsers so you can be assured your web interfaces are working for a larger cross-section of your users.

Notes

The demonstration will go over docker-compose based designs for running Selenium Grids on demand in containers. By leveraging one grid node per container we eliminate the complexities dealing with multiple browser instances on a single machine and gain the speed of which containers can be started.

A small collection of simple Jenkins jobs (or stages in a pipeline) will run parallel suites of tests to exemplify the benefits of such a setup.