  Selenium WebDriver is a library that allows controlling web browsers (e.g.,
Chrome, Firefox, etc.) programmatically. It provides a cross-browser
programming interface in several languages used primarily to implement
end-to-end tests for web applications. JUnit is a popular unit testing
framework for Java. Its latest version (i.e., JUnit 5) provides a programming
and extension model called Jupiter. This paper presents Selenium-Jupiter, an
open-source JUnit 5 extension for Selenium WebDriver. Selenium-Jupiter aims to
ease the development of Selenium WebDriver tests thanks to an automated driver
management process implemented in conjunction with the Jupiter parameter
resolution mechanism. Moreover, Selenium-Jupiter provides seamless integration
with Docker, allowing the use of different web browsers in Docker containers
out of the box. This feature enables cross-browser testing, load testing, and
troubleshooting (e.g., configurable session recordings). This paper presents an
example case in which Selenium-Jupiter is used to evaluate the performance of
video conferencing systems based on WebRTC. This example case shows that
Selenium-Jupiter can build and maintain the required infrastructure for complex
tests effortlessly.
