Twenty years of browser automation
Selenium is born in 2004 from Jason Huggins (ThoughtWorks). Originally “JavaScriptTestRunner” running inside the browser. Evolves into:
- Selenium IDE — Firefox plugin record-replay
- Selenium RC (Remote Control) — proxy-based
- Selenium Grid — distributed
- WebDriver (2007, Simon Stewart, Google) — native API
The Selenium + WebDriver = Selenium 2.0 merger (July 2011). Selenium 3.0 (October 2016) removes legacy RC.
W3C Recommendation
The WebDriver protocol (JSON Wire Protocol) becomes a W3C Recommendation on 5 June 2018. Now all major browsers (Chrome, Firefox, Edge, Safari) implement standard-compliant drivers. Apache 2.0 licence for Selenium.
Architecture
[Test script] → [Language binding] → [WebDriver W3C JSON/HTTP] → [Browser driver] → [Browser]
Official language bindings: Java, Python, C#, Ruby, JavaScript. Community: PHP, Perl, Haskell, Rust.
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://example.com")
driver.find_element_by_name("q").send_keys("cypress")
driver.find_element_by_name("btnK").click()
Selenium 4
Selenium 4.0 (October 2021) modernises:
- WebDriver BiDi — bidirectional protocol (events, network interception)
- Relative locators —
above(),below(),near() - CDP support — Chrome DevTools Protocol
- New Grid — Docker/Kubernetes-friendly
Ecosystem
- Selenium Grid — run parallel tests on infrastructure
- BrowserStack, Sauce Labs, LambdaTest — cloud Selenium-as-a-service
- Nightwatch.js — JS framework on Selenium
- Robot Framework — keyword-driven on Selenium
- Geb (Groovy), Watir (Ruby) — ergonomic alternatives
Relative decline
From 2020 Cypress, Playwright, Puppeteer erode the Selenium base for modern development. Selenium remains dominant in:
- Legacy enterprise testing — already trained Java QA teams
- Mature cross-browser
- Mobile testing with Appium (based on WebDriver)
- Basic RPA (Robotic Process Automation)
In the Italian context
Selenium was and is the reference tool for Italian QA:
- Banks and insurance — large web portal regression testing
- Telco — self-care UI testing
- PA — citizen application testing
- Italian QA bootcamps teach Selenium as first competency
Many ISTQB certifications and training paths include Selenium.
References: Selenium (2004). Jason Huggins. WebDriver W3C Recommendation (5 June 2018). Simon Stewart (Google) original WebDriver. Selenium 4.0 (October 2021) with BiDi. Apache 2.0 licence.
