Publication:
Automated Driver Management for Selenium WebDriver

Loading...
Thumbnail Image
Identifiers
Publication date
2021-09
Defense date
Advisors
Tutors
Journal Title
Journal ISSN
Volume Title
Publisher
Springer Nature
Impact
Google Scholar
Export
Research Projects
Organizational Units
Journal Issue
Abstract
Selenium WebDriver is a framework used to control web browsers automatically. It provides a cross-browser Application Programming Interface (API) for different languages (e.g., Java, Python, or JavaScript) that allows automatic navigation, user impersonation, and verification of web applications. Internally, Selenium WebDriver makes use of the native automation support of each browser. Hence, a platform-dependent binary file (the so-called driver) must be placed between the Selenium WebDriver script and the browser to support this native communication. The management (i.e., download, setup, and maintenance) of these drivers is cumbersome for practitioners. This paper provides a complete methodology to automate this management process. Particularly, we present WebDriverManager, the reference tool implementing this methodology. WebDriverManager provides different execution methods: as a Java dependency, as a Command-Line Interface (CLI) tool, as a server, as a Docker container, and as a Java agent. To provide empirical validation of the proposed approach, we surveyed the WebDriverManager users. The aim of this study is twofold. First, we assessed the extent to which WebDriverManager is adopted and used. Second, we evaluated the WebDriverManager API following Clarke’s usability dimensions. A total of 148 participants worldwide completed this survey in 2020. The results show a remarkable assessment of the automation capabilities and API usability of WebDriverManager by Java users, but a scarce adoption for other languages.
Description
Keywords
Test automation, Testing tools, Selenium WebDriver
Bibliographic citation
García, B., Munoz-Organero, M., Alario-Hoyos, C. & Kloos, C. D. (2021). Automated driver management for Selenium WebDriver. Empirical Software Engineering, 26(5), 107.