2024 marks the 20th anniversary of Selenium, the pioneering tool in web browser automation. What started as a side project by ThoughtWorks engineer Jason Huggins has grown into a popular framework that has shaped modern automated web testing.
2004
The Beginning: Selenium was created by Jason Huggins at ThoughtWorks. As a tool to help automate repetitive testing for web applications, Selenium was born out of the need to speed up testing processes for internal projects. The initial version allowed for basic automation through JavaScript, capturing user interactions and simulating these actions within a browser.
In 2004, Selenium was only able to run tests on Firefox. Chrome was only released in 2008, Safari and IE were not yet supported.
Key contributors in 2004 were Jason Huggins and Paul Gross.
2005
Selenium Remote Control (RC) was introduced, expanding Selenium’s ability to test across different browsers by setting up a server that acted as a proxy. Paul Hammant, another ThoughtWorks engineer, led the development of RC. This enabled cross-browser testing by embedding commands within HTTP requests. Selenium IDE was also released as a Firefox plugin, simplifying the test recording process for testers.
Did you know that TestingBot is the only cloud-based Selenium grid provider that still supports Selenium RC? Tests created with the original Selenium IDE can still be imported to the TestingBot Codeless Test Automation feature as well.
- Contributors: Paul Hammant, Jason Huggins
- Selenium Version: Selenium RC
- Supported Browsers: Firefox and Internet Explorer
2006
The Selenium community grew significantly as more testers adopted RC. ThoughtWorks opened Selenium to the public as an open-source project. Selenium Grid, a server that allowed tests to run in parallel on multiple machines and browsers was introduced. This provided a foundation for faster test execution in complex environments.
- Contributors: ThoughtWorks and the Open Source Community
- Selenium Version: Selenium RC and Selenium Grid
- Supported Browsers: Firefox and Internet Explorer
2007
Selenium saw greater adoption across industries, with the community enhancing compatibility with more browsers and platforms. Contributions from ThoughtWorks and an active open-source community allowed Selenium RC to support more browsers, including Apple's browser Safari.
- Contributors: ThoughtWorks and Open Source Community
- Selenium Version: Selenium RC
- Supported Browsers: Firefox, Internet Explorer and Safari
2008
In 2008, Simon Stewart began developing WebDriver as an alternative to Selenium RC. WebDriver allowed direct communication with browsers, offering a more stable and efficient automation approach. This marked the beginning of a new era in Selenium's evolution.
- Contributors: Simon Stewart and Selenium Community
- Selenium Version: Selenium RC, early WebDriver
- Supported Browsers: Firefox, Internet Explorer, Safari and Chrome (beta)
2009
WebDriver gained traction, and the WebDriver protocol started shaping up, which improved Selenium’s interaction with browsers by avoiding JavaScript injection. The integration of WebDriver with Selenium was underway, supported by the broader open-source community.
Google released ChromeDriver to enable WebDriver-based automation for Google Chrome. This allowed Selenium tests to directly control Chrome, aligning with the WebDriver API. ChromeDriver's initial release in 2009 coincided with Chrome's rising popularity and was a crucial step in Chrome's compatibility with automated testing tools.
The IE Driver was also developed this year, as part of the Selenium 2 project to provide native WebDriver support for Internet Explorer. Unlike Firefox and Chrome, Internet Explorer was challenging to automate due to its security settings, ActiveX controls and unique handling of browser windows.
Internet Explorer had various quirks and limitations that made automation difficult, especially with handling browser security zones, protected mode and compatibility across different Windows versions.
- Contributors: Simon Stewart and Selenium Community
- Selenium Version: WebDriver (early stages), Selenium RC
- Supported Browsers: Firefox, Internet Explorer, Safari and Google Chrome
2010
Selenium 2 was officially released, combining WebDriver and Selenium RC functionalities. WebDriver became the primary API, with RC now being deprecated. This unified approach made Selenium more powerful, enabling better performance and cross-browser compatibility.
- Contributors: Simon Stewart and Selenium Core Team
- Selenium Version: Selenium 2
- Supported Browsers: Firefox, Internet Explorer, Safari and Google Chrome
2011
The WebDriver W3C standardization process began, pushing Selenium towards becoming a recognized standard for browser automation.
Browser vendors showed increased interest and the community rallied to support WebDriver's growing influence.
- Contributors: Selenium Core Team and multiple Browser Vendors
- Selenium Version: Selenium 2
- Supported Browsers: Firefox, Internet Explorer, Safari and Google Chrome
2012
Selenium continued to expand its browser compatibility and added support for mobile browsers, with preliminary support for iOS and Android. This year also marked increased community engagement, with third-party integrations and plugins emerging.
In 2012, the Selenium team released the first Safaridriver, capable of automating Safari on macOS.
It relied on a proxy and wasn't natively supported by Apple at that time. It worked through an injected JavaScript extension in the browser, making it less stable and less performant compared to other WebDriver implementations.
- Contributors: Selenium Community and Third-Party Developers
- Selenium Version: Selenium 2
- Supported Browsers: Firefox, Internet Explorer, Safari, Chrome and Mobile Browsers (beta)
2013
Selenium Grid saw enhancements, making it easier to set up and configure large test farms. This made parallel testing more accessible for complex CI/CD pipelines, further embedding Selenium into enterprise testing suites.
- Contributors: Selenium Community, Grid Contributors
- Selenium Version: Selenium 2
- Supported Browsers: Firefox, Internet Explorer, Safari, Chrome and Mobile Browsers
2014
Selenium 2 continued to receive updates, and the WebDriver standard was advancing. The community focused on improving performance and reliability, with bug fixes and improvements across browsers. New frameworks like Appium adopted WebDriver for mobile automation.
- Contributors: Selenium Core Team and Appium Integration
- Selenium Version: Selenium 2
- Supported Browsers: Firefox, Internet Explorer, Safari, Chrome and Mobile Browsers
2015
Selenium entered mainstream adoption. This provided flexibility for testers by making real-device testing more accessible.
- Contributors: Selenium Core Team
- Selenium Version: Selenium 2
- Supported Browsers: Firefox, Internet Explorer, Safari, Chrome and Mobile Browsers
2016
Preparations for Selenium 3.0 are underway, with a focus on phasing out RC and enhancing WebDriver capabilities. Selenium Grid received updates to better support larger test suites and improved parallelization capabilities.
With Firefox 47 (released in 2016), Mozilla began transitioning to use GeckoDriver for WebDriver-based automation, aligning Firefox with the W3C WebDriver standard. This marked the start of replacing Selenium's native Firefox support, which previously relied on the legacy FirefoxDriver.
- Contributors: Selenium Core Team
- Selenium Version: Selenium 2 (preparing for Selenium 3)
- Supported Browsers: Firefox, Internet Explorer, Safari, Chrome and Mobile Browsers
2017
Version 3.0 marked a major overhaul, moving from RC to WebDriver as the core automation engine. This version deprecated Selenium RC officially, making WebDriver the primary mode of interaction. Selenium 3 was faster, more efficient and included the WebDriver W3C standard. This was gaining industry-wide support. By now, frameworks like Appium used the WebDriver protocol under the hood to allow mobile testing.
Apple introduced its own, fully integrated SafariDriver in 2017 with macOS High Sierra (Safari 10). This version of SafariDriver adheres to the WebDriver (W3C) standard, allowing direct communication with the Safari browser without needing third-party extensions. It supports macOS and iOS, making it the standard for Safari automation and replacing the earlier Selenium-maintained version from 2012.
- Contributors: Simon Stewart and the Selenium Core Team
- Selenium Version: Selenium 3
- Supported Browsers: Firefox, Chrome, Internet Explorer, Safari and (Microsoft) Edge
2018
With the industry increasingly adopting headless testing, Selenium added support for Chrome and Firefox headless modes. This allowed users to run tests without an actual browser UI, which significantly improved test speed and resource usage (less CPU and RAM usage). This was particularly beneficial for continuous integration environments, where resources are scarce.
- Contributors: Selenium Core Team
- Selenium Version: Selenium 3.14
- Supported Browsers: Firefox, Chrome, Internet Explorer, Safari and Edge (with headless support for Chrome and Firefox)
2019
Selenium 4 was in active development, with early support for features like the Chrome DevTools Protocol (CDP) and improved interactions with complex web elements. Selenium Grid also received updates to improve scalability and configuration options.
- Contributors: Selenium Core Team
- Selenium Version: Selenium 3.141
- Supported Browsers: Firefox, Chrome, Safari, Edge
2020
Selenium 4 beta was released with exciting features such as native support for CDP, updated Grid capabilities, and an improved Selenium IDE. These features allowed testers to debug more effectively and automate complex web apps with ease.
- Contributors: Selenium Core Team
- Selenium Version: Selenium 4 (Beta)
- Supported Browsers: Firefox, Chrome, Safari, Edge
- Related Frameworks: Playwright, Puppeteer
2021
Selenium 4 stable release officially launched, bringing with it the finalized W3C WebDriver protocol and full CDP integration, enabling advanced debugging. It also featured a completely revamped Grid architecture.
Selenium BiDi (Bidirectional) Protocol was introduced as part of Selenium 4, which officially launched in October 2021. The BiDi protocol allows for bidirectional communication between the test automation script and the browser, enabling advanced features beyond simple command-and-response interactions.
- Contributors: Selenium Core Team
- Selenium Version: Selenium 4
- Supported Browsers: Firefox, Chrome, Safari, Edge
2022
In response to evolving web technologies, Selenium 4 continued refining its capabilities with enhancements to element interaction stability, Shadow DOM support and additional Grid improvements.
- Contributors: Selenium Core Team
- Selenium Version: Selenium 4
- Supported Browsers: Firefox, Chrome, Safari, Edge
2023
Building on CDP (Chrome DevTools Protocol) integration, Selenium 4 now allows for more in-depth testing capabilities such as:
- Geolocation Overrides: Useful for location-based testing.
- Device Emulation: Allows testers to emulate various device configurations directly.
- Network Throttling: Control over network conditions for testing in low-bandwidth or high-latency environments.
Selenium 2023 was marked by an increase in community-driven plugins and integrations that enhance Selenium’s functionality, such as plugins for visual regression testing, accessibility testing and seamless integrations with cloud-based solutions, such as TestingBot.
- Contributors: Selenium Core Team, Cloud Testing Platforms
- Selenium Version: Selenium 4
- Supported Browsers: Firefox, Chrome, Safari, Edge
2024
As Selenium celebrates its 20th anniversary, Selenium 4 has fully embraced the WebDriver W3C standard, with improved support for modern web features, such as Shadow DOM, better handling of iframes and native support for Chrome DevTools Protocol (CDP).
This version has established itself as the go-to for cross-browser automation, integrated with many CI/CD pipelines. Selenium continues to be compatible with tools like TestingBot, Appium and other newer frameworks such as Playwright and Puppeteer, each enhancing testing versatility.
- Contributors: Selenium Project Contributors
- Selenium Version: Selenium 4
- Supported Browsers: Firefox, Chrome, Safari, Edge (with advanced CDP support)
- Related Frameworks: Appium, Playwright and Puppeteer
2025+ the future of Selenium
What does the future for Selenium hold? We may see a Selenium 5 release in the coming years, bringing full W3C BiDi compliance across all major browsers. This would make real-time bidirectional communication consistent and reliable.
Selenium 5 could focus on interoperability with other testing frameworks like Playwright, Puppeteer and Cypress, allowing for a shared ecosystem where Selenium can run tests alongside or convert tests from other frameworks.
We're definitely excited to see where the next years will take us!