Files
talks/2024-03-14-scalable-selenium-pipelines

On-demand Selenium on OpenShift

Introduction

This guide outlines how to setup an on-demand Selenium testing pipeline in OpenShift.

Selenium automates browsers. Primarily it is for automating web applications for testing purposes, but is certainly not limited to just that. This guide relies on the "Selenium Grid" component for running tests in a distributed way.

We will harness the power of containers and OpenShift to create a scalable and orchestrated cloud native approach to testing with Selenium.

The situation

So let's say we have a container based application deployed on OpenShift, and we now want to perform automated browser based testing for that application on OpenShift.

Gone are the days where we treat our testing infrastructure like sacred pets. In this guide each application that wants to perform browser based testing will leverage shared pipelines to spin up on demand Selenium components, carry out the testing, then throw it away once completed.

Below is an outline of what this flow looks like, obviously a real world application testing pipeline has many other stages, the diagram below is focused only on the browser testing phase to illustrate the high level steps within:

./images/graphviz.svg