Selenium-Jupiter: A JUnit 5 extension for Selenium WebDriver
<|reference_start|>Selenium-Jupiter: A JUnit 5 extension for Selenium WebDriver: 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.<|reference_end|>
@article{garcía2024selenium-jupiter:,
    title={Selenium-Jupiter: A JUnit 5 extension for Selenium WebDriver},
    author={Boni Garc'ia, Carlos Delgado Kloos, Carlos Alario-Hoyos, Mario
  Munoz-Organero},
    journal={Journal of Systems and Software, 2022, 189, 111298},
    year={2024},
    doi={10.1016/j.jss.2022.111298},
    archivePrefix={arXiv},
    eprint={2402.01480},
    primaryClass={cs.OH}
}