October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run ScanOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk6 min

How to Set Up Selenium Grid for Parallel Browser Testing

Run Selenium WebDriver tests concurrently with Standalone Grid, then scale to Hub/Node or distributed deployments as your browser and machine needs grow.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

For a local or small CI test suite, start Selenium Grid in Standalone mode and point your WebDriver client at http://localhost:4444. When you need more machines or browser and operating-system combinations, use a Hub with Nodes; reserve fully distributed mode for deployments that need Grid components operated separately. Grid routes WebDriver commands to remote browser instances so tests can run in parallel across environments. Selenium Grid documentation describes its purpose and components.

Choose a Grid deployment that fits your suite

The right mode depends on how many machines and browser/OS combinations you need, your target concurrent sessions and available resources, and how much operational separation you require.

Mode Best starting point Trade-off
Standalone Local debugging or a small CI job on one machine All Grid components run in one process; capacity is limited to that machine.
Hub/Node Multiple machines or browser/OS environments behind one client entry point You operate the Hub and register Nodes, including their network connectivity.
Fully distributed Deployments that need Grid roles separated across components or machines More addresses, ports, configuration and operational coordination.

Selenium’s rough sizing guide characterizes small grids as Standalone or Hub/Node with up to five Nodes, middle grids as Hub/Node with 6–60 Nodes, and large grids as Hub/Node with 60–100 Nodes or distributed above 100. These are planning estimates, not fixed limits or performance guarantees. See Selenium’s Grid getting-started guide.

Prepare Java, browsers and drivers

  • Install Java 11 or later.
  • Install the browser or browsers your tests will request.
  • Obtain the Selenium Server JAR for the release pinned by your project. The current release number is not specified here; use the version selected by your project rather than copying an unpinned version into a command.
  • Ensure browser drivers are available. When enabled, Selenium Manager can configure drivers automatically with --selenium-manager true; otherwise install the required drivers and put them on PATH.

Start a local Standalone Grid

  1. From the directory containing the downloaded JAR, run:
    java -jar selenium-server-<version>.jar standalone

    Replace <version> with the JAR filename’s version.

  2. Set the test’s RemoteWebDriver URL to http://localhost:4444, the default client endpoint.
  3. Open http://localhost:4444 to view the Grid UI, or query GET http://localhost:4444/status to inspect status.

Standalone runs all Grid components in one process on one machine, which makes it the shortest path to local parallel testing. Selenium calls it the easiest mode to start. The client URL is the Standalone server in this mode. See Getting started with Selenium Grid and Grid endpoints.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Scale out with a Hub and Nodes

Start the Hub

java -jar selenium-server-<version>.jar hub

The Hub is the client entry point. Point RemoteWebDriver at the Hub address, normally http://<hub-host>:4444.

Register a Node

For a Node on the same host, run:

java -jar selenium-server-<version>.jar node

For a Node on another machine, give it the Hub address:

java -jar selenium-server-<version>.jar node --hub http://<hub-ip>:4444

Nodes advertise browser slots and execute sessions. Adding or removing Nodes lets you change capacity and combine machines with different operating systems or browser versions. If you start multiple Nodes on one machine, assign distinct ports, such as 5555 and 6666, and configure each according to the installed release’s help output.

Allow the required internal traffic

For separate Hub and Node machines, allow the Hub event bus ports 4442 and 4443, along with the Node’s port, through the relevant internal network controls. If the Hub uses non-default event bus ports, configure matching publish and subscribe event addresses on each Node. Verify hostnames and ports are reachable from the machines that need them; do not assume a command using one network layout applies unchanged to another.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Restrict Grid endpoints to trusted test infrastructure and administrators. Selenium warns that an exposed Grid can be abused to access internal web applications and files or to run custom binaries. See the security guidance in Selenium’s getting-started documentation.

Use distributed mode only when separate component roles help

Fully distributed mode separates six roles: the Event Bus carries internal messages; the Session Queue holds new session requests; the Distributor matches requests to Nodes; the Session Map tracks session IDs and Nodes; the Router accepts client traffic and routes requests; and Nodes run browser sessions.

Selenium’s example defaults are Event Bus 4442/4443/5557, Session Queue 5559, Session Map 5556, Distributor 5553, Router 4444 and Node 5555. These are example values, not a guarantee that the ports suit your network. Start components with reachable hostnames and ports, and consult the installed version’s --help and --config-help output. In this mode, configure clients to use the Router endpoint, normally on port 4444. The component model and examples are in Selenium’s Grid getting-started guide.

Set concurrency from observed capacity

Grid’s session capacity is constrained by browser workload and host resources; a slot count alone does not establish how many tests your machines can run reliably.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Selenium’s guide gives a starting default of one concurrent session per CPU for Chromium-based browsers and Firefox, and one Safari session. These are defaults and may not suit every workload.
  • The guide estimates around 1 GB of RAM per browser session as a reference, not a guaranteed requirement.
  • Distributor session-creation concurrency depends on available processors.
  • Measure the actual suite continuously and adjust for memory pressure, browser type and host configuration. Selenium favors smaller Nodes for process isolation and notes Docker as one way to achieve that approach.

These figures are operational starting points, not benchmark results. See Selenium’s sizing guidance.

Configure options with flags or TOML

Grid settings can be passed as command-line flags or placed in a TOML configuration file. Selenium recommends TOML for readability and source control, and flags can be combined with a TOML file. Examples cover Node session caps and driver implementations. Docker-backed sessions can be configured on Standalone or a Node, with suitable image-to-capability mapping and Docker daemon connectivity.

Configuration flags can change by release. Check the installed server’s help before relying on a copied setting: use component-specific --help and global --config-help. References: CLI options and TOML configuration options.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Validate registration and diagnose session failures

Use the Grid UI at http://localhost:4444 or request GET http://localhost:4444/status (substitute the Hub or Router host when remote). Status reports registered Nodes, their availability, sessions and slots. In Standalone mode the client targets the server; in Hub/Node mode it targets the Hub; in distributed mode it targets the Router.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Symptom What to check Fix
Node does not appear or is unavailable Hub address, Node port, event bus ports and matching publish/subscribe addresses when non-default ports are used. Correct the address and internal firewall rules, then check status again.
Session request waits or cannot be created Whether a Node is registered, requested browser capabilities match an installed browser/driver, and slots are available. Install or enable the needed browser and driver, request capabilities the Node supports, or add capacity after measuring host resources.
Browser fails to launch Browser installation, driver availability and whether driver setup is enabled. Install the browser/driver or enable Selenium Manager with --selenium-manager true.
Client cannot connect Whether the client URL points to the correct server, Hub or Router and whether that endpoint is reachable. Use the mode-specific endpoint and verify network access to its host and port.
Copied configuration flag is rejected Whether the flag exists in the installed Selenium release. Consult that server’s component --help and --config-help output.

Or skip the browser setup

If the goal is capturing website screenshots rather than running WebDriver tests, ScreenshotNeo is a website screenshot API and MCP server. One GET request returns an image or PDF; its clean-shot steps accept consent banners and remove supported consent platforms, newsletter popups and chat widgets before capture. Bot checks, blank pages, timeouts, failed loads and cache hits are not billed, and response headers identify the page verdict and billing status. Its MCP server provides take_screenshot, get_page_info and capture_pdf for AI agents.

For example, save a page as WebP with cURL:

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

See the ScreenshotNeo documentation for setup and options. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000. Sign up for free screenshots.

Frequently Asked Questions

Can Selenium Grid run tests on different operating systems?

Yes. Hub/Node can combine machines with different operating systems and browser versions, provided the Nodes are reachable and advertise browsers that match the test capabilities.

Does a Grid session limit guarantee a particular test throughput?

No. Session capacity is only a starting configuration; actual throughput depends on the browser workload and available CPU, memory and host configuration.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. Shenzhen desk3 min
    HONOR Expands Beyond Smartphones With Humanoid Robot RevealHONOR said it unveiled its first humanoid robot at MWC 2026 and named shopping assistance, workplace inspections, and supportive companionship as intended uses. Later Robotics D1 claims and a reported…
  2. Cupertino desk5 min
    Apple Unveils AirPods Max 2: The Upgrade That Should Have Happened Years AgoAirPods Max 2 adds H2-powered audio features and Apple claims up to 1.5× more effective ANC, but its design, Smart Case, and 20-hour battery rating are unchanged. Wired lossless audio…
  3. Cupertino desk4 min
    Apple’s OLED Touch MacBooks Are Coming—but the Dynamic Island Is the Real GambleApple has not announced an OLED touchscreen MacBook, but reports point to high-end models arriving in late 2026 or early 2027. The reported Mac Dynamic Island could be useful, but…
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.