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 locators —
above(),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.
