Skip to main content
SeleniumDecoded

Glossary

The vocabulary of Selenium and WebDriver in one place. Interviewers use these words; so do the release notes.

A

Actions API
The low-level input API (Actions class in Java, ActionChains in Python) that builds sequences of mouse, keyboard, pen, wheel and pause actions and performs them as one W3C actions command. Lesson →
Atoms
Shared JavaScript snippets (now TypeScript) that Selenium injects into the page to implement behaviour like isDisplayed and getAttribute consistently across browsers and bindings.

B

BiDi (WebDriver BiDi) also: WebDriver BiDi
The W3C bidirectional protocol that runs over a WebSocket next to classic WebDriver. It adds events (console logs, network requests, DOM mutations) and browser-agnostic interception that classic WebDriver cannot express. Lesson →
Browsing context
BiDi's term for a tab, window or frame. Most BiDi commands take a browsing context id, which maps to a WebDriver window handle for top-level contexts. Lesson →

C

Capabilities
The key-value map sent when a session is created that describes the browser, platform and behaviour you want (browserName, pageLoadStrategy, acceptInsecureCerts). In Selenium 4 you set them through the browser Options classes. Lesson →
CDP (Chrome DevTools Protocol)
Chromium's proprietary debugging protocol. Selenium 4 exposes it for Chromium browsers, but it is version-specific and being superseded by BiDi. Firefox support was removed in Selenium 4.29. Lesson →
Chrome for Testing
Google's pinned Chrome builds intended for automation. Selenium Manager can download a specific version so CI runs are reproducible. Lesson →

D

Data-driven testing
Running the same test logic against many rows of input data supplied by parameters, CSV, JSON or a database instead of hard-coding values. Lesson →
Distributor
The Grid component that matches new session requests from the queue to Nodes with a matching stereotype. Can be Redis-backed since 4.44 for high availability. Lesson →
Dynamic Grid
A Grid Node that starts a fresh browser container (Docker) or Pod (Kubernetes, since 4.41) per session and tears it down afterwards, optionally with video recording. Lesson →

E

Expected condition
A predicate passed to an explicit wait that returns a truthy value when the desired state is reached, such as visibilityOfElementLocated or a custom lambda. Lesson →
Explicit wait
A wait tied to a specific condition and timeout (WebDriverWait). Polls until the condition passes or the timeout expires. The recommended synchronisation strategy. Lesson →

F

Flaky test
A test that passes and fails without code changes. Usually caused by timing, shared state, test-order dependence or environment differences rather than product bugs. Lesson →
Fluent wait
An explicit wait with configurable polling interval and a list of exceptions to ignore while polling. WebDriverWait is a specialised FluentWait in Java. Lesson →

H

Headless
Running a browser without a visible window. Chrome's new headless mode (--headless=new, default since Chrome 112) is the full browser without UI, unlike the old separate implementation. Lesson →

I

Implicit wait
A global timeout applied to every findElement call. Simple but blunt; mixing it with explicit waits produces unpredictable total wait times. Lesson →

L

Locator
A strategy plus value used to find elements: id, name, class name, tag name, link text, partial link text, CSS selector, XPath, and relative locators. Lesson →

N

Node (Grid)
A Grid component that owns browser slots and executes sessions. Registers its stereotypes with the Distributor. Lesson →

P

Page Factory
A Java-centric helper that initialises Page Object fields annotated with @FindBy using proxies that locate elements lazily. Lesson →
Page load strategy
Controls when driver.get returns: normal waits for the load event, eager for DOMContentLoaded, none returns immediately. Lesson →
Page Object Model (POM)
A design pattern where each page or component gets a class exposing user-level actions and hiding locators, so UI changes are fixed in one place. Lesson →

R

Relative locators
Selenium 4 locators that find an element by its position relative to another (above, below, toLeftOf, toRightOf, near). Use them when the DOM offers no stable attribute. Lesson →
RemoteWebDriver
The driver class that talks to a remote endpoint (Grid or cloud provider) over HTTP. All local drivers extend it. Lesson →
Router
Grid's entry point. Forwards new session requests to the queue and existing session commands to the owning Node. Lesson →

S

Screenplay pattern
A user-centred alternative to POM built from Actors, Abilities, Tasks, Interactions and Questions. Scales well for large teams; heavier to start. Lesson →
Selenium Grid
The server that lets tests run on remote machines and browsers in parallel. Runs in standalone, hub-and-node or fully distributed modes. Lesson →
Selenium IDE
A browser extension for recording and replaying tests without code. Useful for exploration and bug reproduction, not for maintainable suites.
Selenium Manager
The Rust binary bundled with Selenium 4.6+ that finds or downloads the matching driver and, if needed, the browser itself, so you no longer manage chromedriver paths. Lesson →
Session
One browser instance controlled by one driver object, identified by a session id. Created on driver construction and destroyed by quit(). Lesson →
Shadow DOM
An encapsulated subtree attached to a host element. Standard locators cannot see inside it; use element.getShadowRoot() (Selenium 4.0+) and CSS selectors from the root. Lesson →
Stale element
A WebElement reference whose DOM node was removed or replaced after the element was found. Re-find the element instead of caching it. Lesson →
Stereotype
The capabilities a Grid Node advertises for a slot (browserName, browserVersion, platformName). The Distributor matches session requests against stereotypes. Lesson →

T

Test pyramid
The guideline that most tests should be fast unit tests, fewer integration tests, and only a thin layer of end-to-end browser tests like Selenium suites. Lesson →
ThreadLocal driver
A pattern for parallel execution where each test thread gets its own WebDriver instance stored in a ThreadLocal (or equivalent), preventing cross-test interference. Lesson →

V

Virtual authenticator
A WebDriver feature that emulates a WebAuthn (passkey/FIDO2) authenticator so you can test passwordless login flows without hardware. Lesson →

W

W3C WebDriver
The browser automation standard Selenium 4 implements exclusively. It defines the HTTP endpoints and JSON payloads every browser driver speaks. Lesson →
WebElement
Selenium's handle to a DOM element. Exposes click, sendKeys, getText, getAttribute, isDisplayed and more. Becomes stale if the DOM node is replaced. Lesson →
Window handle
An opaque string identifying a top-level browser window or tab. Use driver.switchTo().window(handle) to change the driver's focus. Lesson →