Selenium
The original, still-widely-used browser automation framework.
CurrentintermediateFull course available
Overview
Selenium automates real browsers for testing, supporting many languages and browsers via the WebDriver protocol. It's the longest-established browser automation tool and remains common in existing test suites, though newer tools like Playwright have gained ground for new projects with faster, more reliable APIs.
- What it is
- A browser automation framework for driving real browsers programmatically, primarily for testing.
- Why it's used
- Broad language and browser support, and a very large existing ecosystem of tests and tutorials built on it.
- Where it fits
- An alternative to Playwright for browser-based end-to-end testing; commonly found in existing (especially Java-based) enterprise test suites. The Selenium WebDriver Automation course covers this in depth using Java, building on Java Programming Foundations: WebDriver architecture, explicit waits, page objects, JUnit integration, and CI execution.
Core concepts
- WebDriver
- Locating elements
- Waits (avoiding flaky tests)
- Page object pattern
Example
Selenium drives a real browser through the WebDriver protocol -- the same approach (real browser automation, not a simulated DOM) that this platform's own end-to-end tests use, via Playwright instead.
WebDriver driver = new ChromeDriver();
driver.get("https://example.com");
driver.findElement(By.id("submit")).click();Common use cases
- Automated browser testing
- Maintaining existing Selenium-based test suites
Project ideas
- Automate a simple form submission and assertion on a test page