English for Selenium Testing

Learn the English vocabulary for Selenium and WebDriver-based test automation, from locator strategies to explaining flaky tests to your team.

Selenium is one of the oldest and most widely deployed browser automation tools, and teams that maintain large WebDriver suites need precise vocabulary to discuss why a test broke, whether it’s the locator, the timing, or the browser itself. Getting this language right helps you write clearer bug reports and code review comments when a suite spans hundreds of tests.

Key Vocabulary

WebDriver — the protocol and API that lets Selenium send commands to a real browser (click, type, navigate) and read back its state, acting as the bridge between your test code and the browser binary. “The test failed because the WebDriver couldn’t establish a session with the browser — check if chromedriver is even running.”

Locator strategy — the method used to find an element on the page, such as CSS selector, XPath, ID, or link text, chosen based on how stable and specific it is. “Switch the locator strategy from XPath to a CSS selector here — it’s faster and less likely to break when the DOM structure changes.”

Explicit wait — an instruction that tells WebDriver to pause until a specific condition is met, like an element becoming clickable, rather than waiting a fixed number of seconds. “Replace that hardcoded sleep(5) with an explicit wait for the button to be clickable — it’ll be both faster and more reliable.”

Flaky test — a test that passes and fails intermittently without any code changes, usually caused by timing issues, unstable locators, or race conditions with asynchronous page behavior. “This login test is flaky — it fails about one run in ten, and it’s almost always because the page hasn’t finished redirecting yet.”

Page Object Model — a design pattern where each page or component of the application under test is represented by a class that encapsulates its locators and interactions, keeping test logic separate from page structure. “We moved the checkout flow into a Page Object Model class, so when the button ID changed, we only had to update it in one place.”

Common Phrases

  • “Is this failure a real bug, or is the test just flaky?”
  • “What locator strategy are we using here, and is it resilient to layout changes?”
  • “Can we swap this implicit wait for an explicit wait on the actual condition we care about?”
  • “Should this interaction live in the Page Object Model instead of directly in the test?”
  • “Is WebDriver actually connecting to the right browser version?”

Example Sentences

Explaining a failure to a teammate: “The WebDriver session timed out because the grid had no free browser nodes — it’s not a problem with our test logic.”

Reviewing a pull request: “This locator strategy relies on a brittle XPath with three nested divs — can we add a data-testid attribute instead?”

Reporting a recurring issue to the team: “This is a flaky test, not a real regression — it depends on an explicit wait we forgot to add after the checkout modal opens.”

Professional Tips

  • Reach for locator strategy language when reviewing tests — naming exactly which selector type is fragile makes the fix obvious to whoever picks up the ticket.
  • Use explicit wait instead of vague terms like “add a wait” — it signals you’re waiting on a condition, not just adding a delay, which matters when someone reviews your code later.
  • Flag a flaky test explicitly in your bug tracker rather than just re-running it — silently re-running hides real intermittent bugs and erodes trust in the suite.
  • Recommend the Page Object Model when a test file mixes locators and assertions together — it’s the standard vocabulary for the fix and signals you understand test architecture.

Practice Exercise

  1. Explain the difference between an explicit wait and a fixed sleep, and why one is more reliable in a WebDriver test.
  2. Describe two possible causes of a flaky test in a login flow that hasn’t had any recent code changes.
  3. Write a short code review comment recommending a more stable locator strategy for a test using nested XPath expressions.