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 →