Selenium WebDriver: W3C standard for browser automation

Selenium WebDriver W3C Recommendation (June 2018): IEEE standardisation of browser automation protocol. Jason Huggins created Selenium in 2004, unified WebDriver in 2008-2009. Foundation for every web E2E tool.

Open SourceWeb SeleniumWebDriverW3CJason HugginsTestingBrowser AutomationOpen Source

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 locatorsabove(), 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.

Need support? Under attack? Service Status
Need support? Under attack? Service Status