Skip to main content

🧪 Testing

Selenium

Selenium is the original browser automation standard. Around since 2004, it drives real browsers through the WebDriver protocol from almost any programming language, making it the backbone of web testing and scraping across the industry.

Quick Facts

Developer Selenium project, part of the Software Freedom Conservancy
First released 2004
Latest version Selenium 4 (see official website for the latest release)
Language Java, Python, C#, Ruby, JavaScript and Kotlin
License Apache-2.0
Pricing Free and open source
Platform All major browsers through the WebDriver protocol

What is Selenium?

Selenium is the granddaddy of browser automation, first released in 2004 and still going strong. It lets you write code that controls a real browser: opening pages, clicking, typing, and asserting what you see, all through the standard WebDriver protocol.

The project is maintained by a volunteer community under the Software Freedom Conservancy, and it ships official bindings for Java, Python, C#, Ruby, JavaScript, and Kotlin. That language coverage is a big reason Selenium stayed relevant for two decades.

Selenium 4 modernized the project with the W3C WebDriver standard, a friendlier IDE for recording tests, and better relative locators. It remains the reference implementation that many commercial testing tools build on.

Key Features

  • WebDriver protocol standardized by the W3C
  • Official bindings for six programming languages
  • Support for all major browsers: Chrome, Firefox, Edge, Safari and more
  • Selenium Grid for running tests across machines in parallel
  • Selenium IDE for recording and replaying tests without code
  • Relative locators to find elements by position
  • Huge ecosystem of wrappers, plugins and cloud providers

How to get started

Pick your language, install the Selenium package, and download a WebDriver for the browser you want to test. From there you create a driver, navigate to a page, and start writing actions.

  • Install the Selenium binding for your language
  • Download or manage the browser driver, like ChromeDriver
  • Create a driver instance for your browser
  • Write a script that navigates and interacts with the page
  • Run it on your machine or through Selenium Grid

Use cases

  • End to end testing of web applications
  • Cross browser compatibility testing
  • Web scraping and data collection at scale
  • Automating repetitive browser workflows
  • Training and certification: the classic entry point into test automation
  • Building custom test frameworks on top of WebDriver

Pricing and licensing

Selenium is completely free and open source under the Apache-2.0 license. There is no paid tier, no license key, and no cloud requirement; you run everything on your own infrastructure.

The ecosystem around it, like cloud testing services that host browser grids, is commercial, but the core project itself has always been free.

Pros and cons

Selenium's strengths are maturity, standards, and language choice. The W3C WebDriver standard means your tests are portable across browsers and even across tools, and the decades of documentation mean almost any problem has been solved and written up already.

The weaknesses are the classic ones of the old guard: tests can be flaky if you do not handle waits carefully, setup requires managing browser drivers, and the framework gives you raw power rather than the guardrails newer tools provide.

Alternatives

  • Playwright: modern cross browser framework with auto waiting
  • Cypress: developer friendly runner for JavaScript teams
  • Appium: WebDriver based automation for mobile apps
  • Testim: AI maintained UI tests for less brittle suites

Resources

What is New?

By continuing to use the site, you agree to the use of cookies.