Selenium WebDriver: standard W3C per automazione browser

Selenium WebDriver W3C Recommendation (giugno 2018): standardizzazione IEEE del protocollo per automazione browser. Jason Huggins creò Selenium nel 2004, WebDriver unificato nel 2008-2009. Base per ogni tool E2E web.

Open SourceWeb SeleniumWebDriverW3CJason HugginsTestingBrowser AutomationOpen Source

Vent’anni di automazione browser

Selenium nasce nel 2004 da Jason Huggins (ThoughtWorks). Originariamente “JavaScriptTestRunner” che gira dentro il browser. Evolve in:

  • Selenium IDE — Firefox plugin record-replay
  • Selenium RC (Remote Control) — proxy-based
  • Selenium Grid — distribuito
  • WebDriver (2007, Simon Stewart, Google) — API nativa

La fusione Selenium + WebDriver = Selenium 2.0 (luglio 2011). Selenium 3.0 (ottobre 2016) rimuove RC legacy.

W3C Recommendation

Il protocollo WebDriver (JSON Wire Protocol) diventa W3C Recommendation il 5 giugno 2018. Ora tutti i major browser (Chrome, Firefox, Edge, Safari) implementano driver standard-compliant. Licenza Apache 2.0 per Selenium.

Architettura

[Test script] → [Language binding] → [WebDriver W3C JSON/HTTP] → [Browser driver] → [Browser]

Language bindings ufficiali: 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 (ottobre 2021) modernizza:

  • WebDriver BiDi — bidirectional protocol (eventi, network interception)
  • Relative locatorsabove(), below(), near()
  • CDP support — Chrome DevTools Protocol
  • New Grid — Docker/Kubernetes-friendly

Ecosistema

  • Selenium Grid — run parallel tests su infrastruttura
  • BrowserStack, Sauce Labs, LambdaTest — cloud Selenium-as-a-service
  • Nightwatch.js — framework JS su Selenium
  • Robot Framework — keyword-driven su Selenium
  • Geb (Groovy), Watir (Ruby) — alternative ergonomiche

Declino relativo

Dal 2020 Cypress, Playwright, Puppeteer erodono la base Selenium per sviluppo moderno. Selenium resta dominante in:

  • Testing enterprise legacy — team QA Java già formati
  • Cross-browser maturo
  • Mobile testing con Appium (basato su WebDriver)
  • RPA (Robotic Process Automation) basic

Nel contesto italiano

Selenium è stato ed è lo strumento di riferimento per QA italiani:

  • Banche e assicurazioni — test regressione grandi web portal
  • Telco — test UI self-care
  • PA — test applicativi cittadini
  • Bootcamp QA italiani insegnano Selenium come prima competenza

Molte certificazioni ISTQB e percorsi formativi includono Selenium.


Riferimenti: Selenium (2004). Jason Huggins. WebDriver W3C Recommendation (5 giugno 2018). Simon Stewart (Google) WebDriver originale. Selenium 4.0 (ottobre 2021) con BiDi. Licenza Apache 2.0.

Vuoi supporto? Sei sotto attacco? Stato dei servizi
Vuoi supporto? Sei sotto attacco? Stato dei servizi