A browser-based test opens a real web browser, then does what a person would do: go to a page, find a button or a field, click and type, and check what appears. A tool does it for you, so the same journey can run on every change, in seconds, without anyone sitting at the keyboard.

Tools you will meet

  • Selenium — the long-established standard, built on the W3C WebDriver protocol, with official bindings for Java, Python, C#, JavaScript, and more, and a driver for each major browser.
  • Playwright — from Microsoft; drives Chromium, Firefox, and WebKit, waits for elements automatically, and has bindings for JavaScript and TypeScript, Python, Java, and .NET.
  • WebdriverIO — a JavaScript and TypeScript test framework that sits on top of WebDriver and adds a test runner, reporters, and a friendly API.
  • Cypress — a JavaScript and TypeScript tool that runs inside the browser alongside your app, with a visual test runner.
  • Puppeteer — a Node.js library from the Chrome team for controlling Chrome and Firefox, often used for scripting and scraping as well as testing.
  • TestCafe — a Node.js tool that runs tests in the browser without needing separate drivers.

What to expect

Because they use a real browser, these tests are the most realistic kind — and the slowest and most easily upset by small page changes, so keep them few and focused on the journeys that matter most. Quicker tests lower down the testing pyramid should cover the rest.

To try one yourself, start with the practice page, or browse the runnable demos on the code page.