mrkeyoor.com_
Tue 01 Sept 17:40 UTC
Automationevaluationupdated 29 Aug 2026

selenium review

Selenium is an open-source toolkit for controlling major web browsers through the W3C WebDriver standard. It solves the problem of automating real browser actions for testing, repetitive workflows, and cross-browser checks without tying teams to one programming language or browser vendor.

+12 / 3dstars / 7d
Verdict

Our install succeeded in 21 seconds, but build and tests were skipped because no corresponding pnpm targets were detected. Selenium remains a strong default when standards-based, multi-browser, multi-language automation matters more than having the neatest all-in-one test runner. Use the published bindings and user documentation for normal adoption; clone this large monorepo only if you intend to contribute or inspect its internals.

We ran it

Install✓ · 21s927 packages · 381 MB
Buildn/ano build script
Testsn/ano test script
Repo5288 files~664,640 lines of source · 77.7 MB · 35 CI workflows

Answers from our run

Does selenium build from source?

Dependencies installed in 21 seconds (927 packages), and the project has no separate build step. We cloned commit b9e648a into a clean Debian container with 3 CPUs and no project-specific setup.

Does selenium have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Who should not use selenium?

Small teams wanting the quickest JavaScript-only test setup, because the contributor toolchain is substantial

What are the alternatives to selenium?

Playwright, Cypress, Puppeteer. Our install succeeded in 21 seconds, but build and tests were skipped because no corresponding pnpm targets were detected.

Setup3/5Fast install, but contributor builds require Bazelisk and JDK 17+
Docs4/5Clear contributor guidance and a separate detailed user manual
Community5/534,418 stars, a release 2 days ago, and activity today
Maturity5/5Long-running W3C WebDriver infrastructure for major browsers

Discussed on

  1. hnFirefox 55 and Selenium IDE294 points
  2. hnSelenium 2.0: Out Now126 points
  3. hnSelenium Mobile JSON Wire Protocol Specification32 points
  4. hnSelenium 2.1 Released23 points
  5. hnIf you use Selenium to scrape sites, telemetry may have been collected from you18 points

Who it’s for

QA and engineering teams that need standards-based browser automation across major browsers
Organizations maintaining cross-browser end-to-end suites in several programming languages
Teams that need Selenium Grid or an established WebDriver ecosystem
Contributors willing to work with a large Bazel-based monorepo

Who it’s NOT for

Small teams wanting the quickest JavaScript-only test setup, because the contributor toolchain is substantial
Projects that need built-in build and test commands exposed through the detected pnpm package scripts
Developers looking for a lightweight browser-control library with a narrow API surface
Anyone expecting the repository README alone to be a beginner tutorial, because it redirects users to the separate manual

Setup reality

Our run installed 927 packages in 21 seconds and used 381 MB, but there was no detected build or test script, so both later stages were skipped rather than passed. Dependency installation was straightforward on our box, while meaningful validation is a different job: this 5,288-file, roughly 664,640-line monorepo uses pnpm, and its contributor README also calls for Bazelisk and JDK 17 or newer. The README is candid about extra platform work, including Xcode and Rosetta guidance on macOS and a lengthy Windows setup, so cloning and installing is easy but becoming ready to build and contribute is not a one-command experience.

Selenium is infrastructure, not merely a test runner

Selenium is the established, standards-based layer for driving browsers. The repository describes an umbrella project of tools and libraries built around the W3C WebDriver specification, giving teams a language-neutral interface compatible with major browsers. This is not simply a Java package despite Java being the primary language, and it is not only a test runner. Browser vendors, language bindings, test frameworks, Grid deployments, and application teams can meet around it. With 34,418 GitHub stars and a history dating to 2013 in the supplied community data, it has unusual ecosystem weight.

The README draws a useful boundary. Its opening promise is browser automation and nothing more, while the document itself targets contributors rather than first-time users. People writing their first browser flow are directed to Selenium's separate User Manual and support resources. Contributors get sections for installing, building, developing, testing, documenting, and releasing. That separation makes sense, but a newcomer landing on GitHub needs 1 extra click before reaching task-oriented examples.

What happened when we ran it

We cloned commit b9e648a into an unprivileged Debian sandbox with 3 CPUs, 8 GB of RAM, no secrets, and a Node 22 image. The checkout contained 5,288 files, about 664,640 lines of source, and occupied 77.7 MB. The detected ecosystem was Node with pnpm and monorepo workspaces. Installation succeeded in 21 seconds, bringing in 927 packages and occupying 381 MB. Those figures describe dependency setup on our box, not browser-test performance.

The build stage did not fail, but it did not run: our harness found no build script or target. Tests were also skipped because it found no test script or target, and it reported no tests directory. That does not prove Selenium lacks tests. It means the generic pnpm-oriented harness could not invoke the repository's real validation workflow. We measured 35 CI workflow files, but we did not execute those workflows and cannot claim they passed.

Standards and broad compatibility are the concrete strengths

Selenium's clearest advantage is its role as infrastructure for W3C WebDriver. A platform-neutral protocol matters when an organization covers several browsers, maintains bindings in different languages, or expects a testing estate to survive changes in frontend tooling. The README explicitly says compatibility spans all major browsers. That common contractual layer is a better reason to choose Selenium than popularity alone. Version 4.48.0, released on August 27, 2026, shows that the mature project is still shipping current work.

The contributor experience offers sensible options for a codebase this size. Bazelisk pins the Bazel version, JDK 17 or newer is specified, and developers can use Gitpod, a dev container, or a development Docker image. The worktree section explains how to share Bazel disk and repository caches, warns that both grow without bounds, and recommends the same filesystem so hardlinks can replace copies. That is practical advice for maintaining multiple checkouts of a 664,640-line repository.

Cloning the monorepo exposes the rough edges

The main weakness is weight. A successful install produced 381 MB of dependencies before a real Bazel build or any browser was exercised. With 5,288 files and monorepo workspaces, navigation, contribution, and CI reproduction demand more context than the concise slogan suggests. Teams needing only application-level tests should consume the appropriate published Selenium binding and documentation, not treat the central source repository as their starter kit.

There is also a mismatch with generic JavaScript project expectations. pnpm installation works, yet no detected pnpm build or test target gave our harness a meaningful next step. Contributors must understand Bazel, Java tooling, and possibly native platform requirements. Windows registry changes and administrator setup raise the cost; Apple Silicon still has a stated Rosetta step. These consequences of the project's scope keep setup ease at 3 out of 5.

Same-day activity supports the maturity claim

Project health looks strong when push and release evidence are combined. The latest push was August 29, 2026, the date of this review, and version 4.48.0 arrived 2 days earlier. There are 189 open issues, a meaningful number but not automatically alarming for software with this breadth and volunteer-maintained scope. Issue count cannot reveal response quality, yet the current release and same-day push argue strongly against abandonment.

The supplied 34,418-star count indicates broad awareness, while the README credits volunteers for thousands of hours of upkeep. Multiple CI badges, contribution instructions, support links, and release documentation show an organized project surface. We were not given response times, contributor counts, or download totals, so those cannot support the score. Community earns 5 out of 5 here for demonstrated adoption and present activity, not because every issue is necessarily resolved quickly.

It belongs under a test framework and beside CI

In a real stack, Selenium sits between application-level automation and browser-specific implementations. Teams select a language binding, write tests through a preferred framework, manage browsers and drivers, then run locally or through CI and Grid-style infrastructure. The central repository matters most to maintainers, binding contributors, and teams debugging beneath their own test abstraction. Its 35 workflow files suggest the amount of engineering surrounding that shared layer, without proving those workflows succeeded in our environment.

Choose Selenium when browser and language breadth, W3C alignment, and long-term ecosystem compatibility are primary. Choose Playwright when a JavaScript or TypeScript team wants an integrated runner, Cypress when an interactive frontend workflow matters most, or Puppeteer when focused browser scripting is enough. Selenium 4.48.0 is not the lightest starting point, but it is a defensible choice when automation must span more than 1 language ecosystem or outlive a framework preference.

Alternatives

ProjectWhat it isPick it when
Playwright gh↗A modern cross-browser automation and testing framework with an integrated test runner.pick this instead when a JavaScript or TypeScript team wants a more integrated end-to-end testing experience.
Cypress gh↗A browser-focused testing platform built around an interactive developer workflow.pick this instead when frontend test authoring and an interactive runner matter more than WebDriver portability.
Puppeteer gh↗A focused JavaScript API for controlling Chrome and Firefox.pick this instead when browser scripting is the goal and a smaller JavaScript-centric surface is preferable.

What people are saying

  1. [velocity-scout] SeleniumHQ/selenium

Sources

  1. SeleniumHQ/selenium on GitHub
  2. Selenium homepage and documentation

More automation reviews

rclone · lego · OpenCLI · web-access · Karabiner-Elements · WiiUDownloader · the whole board →