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 desk8 min

Selenium Grid 4: Setup and Parallel Browser Testing

Selenium Grid 4 runs remote WebDriver sessions in parallel. Learn when to use Standalone or Hub/Node, start a Grid, match browser capabilities, plan capacity, and solve common setup problems.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Selenium Grid 4 runs WebDriver tests on remote browser instances, so a test suite can run in parallel across machines and browser or operating-system combinations. For a first setup, run Grid in Standalone mode on one machine; move to Hub/Node when you need browser capacity across multiple machines. A session runs only when its requested capabilities match a browser slot registered in the Grid.

What Selenium Grid does

Grid routes WebDriver commands from a client to remote browser instances. It is useful when you need concurrent test sessions, or need to exercise a site on different browsers or operating systems without running every browser locally. Grid distributes execution; it does not make a test suite parallel by itself. Your test runner must submit independent WebDriver sessions concurrently.

The basic flow is: a client requests a session with browser capabilities; the Router receives the request; the New Session Queue holds it until it can be served; the Distributor finds a matching available slot; a Node starts and runs the browser session; and the Session Map keeps track of the session ID and its Node so later commands reach the right browser. See Selenium’s Grid architecture documentation for the component model. That page was last modified in 2022, so check it against the Grid release you deploy.

Choose a deployment mode

Mode Use it when Trade-off
Standalone You need a simple Grid on one machine for development, evaluation, or a small test workload. Grid and browser capacity are on the same machine; it does not distribute execution across separate hosts.
Hub/Node You need one Grid entry point connected to browser Nodes on multiple machines, potentially with different operating systems or browser versions. You must start and operate the Hub and register Nodes, then ensure requested capabilities match their slots.
Separate components or containerized Nodes You need a more distributed deployment or want small Nodes that can be isolated and managed as containers. More deployment and operations decisions are required. Selenium recommends Docker as one way to run smaller Nodes and isolate failures.

Choose based on the browser and OS combinations you must test, the number of simultaneous sessions your test runner will request, the machines and resources available, and how much operational complexity your team can support. There is no universal best topology.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

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

Prerequisites

Selenium’s official Grid getting-started guide lists Java 11 or higher, installed browsers, browser drivers, and the Selenium Server JAR. Selenium Manager can configure drivers when it is enabled with --selenium-manager true. Use a Selenium Server JAR version that matches the Grid release you intend to run; the command below uses a version placeholder because the correct current filename depends on the release you download.

  • Install Java 11 or newer and confirm it is on your PATH with java -version.
  • Install the browsers the Grid should provide. In a multi-machine Grid, install the required browsers on the corresponding Nodes.
  • Download the Selenium Server JAR for the release you plan to use.
  • Install compatible browser drivers, or enable Selenium Manager as documented for your version.

Start a local Standalone Grid

  1. Open a terminal in the directory containing the Selenium Server JAR.
  2. Start Grid: java -jar selenium-server-<version>.jar standalone.
  3. Keep the process running. Open http://localhost:4444 to view the Grid UI.
  4. Configure your WebDriver client to use http://localhost:4444 as the remote Grid endpoint and request a browser capability available on that machine.

For example, the following Python client starts a remote Chrome session. It assumes the Selenium Python package is installed and that the local Grid has a Chrome slot available:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
driver = webdriver.Remote(
    command_executor="http://localhost:4444",
    options=options,
)
try:
    driver.get("https://example.com")
    print(driver.title)
finally:
    driver.quit()

The client must close each session with quit(), including after a test failure, so the browser slot is released for subsequent work.

Connect multiple machines with Hub and Nodes

For a multi-machine arrangement, start a Hub as the central entry point, then start a Node on each machine that will provide browser capacity. The official quick-start documentation describes this Hub/Node pattern and the option to run Grid components separately for more distributed deployments. Exact command-line options can vary with the Selenium Server version, so use the official getting-started steps for the version you are installing rather than copying a command from a different release.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Choose and install the Selenium Server release on the Hub and Nodes.
  2. Start the Hub using the documented command for that release.
  3. Start each Node with its browser and driver available, and configure it to register with the Hub address.
  4. Check the Grid UI and confirm that the expected browser slots appear.
  5. Point WebDriver clients at the Hub endpoint, not an individual Node, and request capabilities that correspond to registered slots.

The Hub is the client-facing entry point; Nodes provide execution capacity. A request cannot be assigned merely because a Node is online: the Distributor needs a slot matching the request’s browser and other requested capabilities.

Run tests in parallel and match capabilities

Grid can serve multiple sessions when matching slots are available. To obtain parallel execution, configure your test runner to run independent tests concurrently and connect each worker to the Grid. Set the runner’s worker count in line with measured Grid capacity; asking for more sessions than available matching slots causes requests to wait in the New Session Queue rather than creating capacity.

Keep browser capabilities aligned with what is registered on the Grid. If you request a browser or platform combination no Node can provide, the request cannot be assigned. Start with the browser name and platform requirements your Nodes actually support, then add only capabilities needed by the test. Grid architecture and matching behavior are described in Selenium’s architecture documentation.

Plan capacity by measuring your workload

Selenium’s setup guide offers planning guidance, not a performance guarantee or benchmark. It says to expect around 1 GB of RAM per browser session, that a Node’s default maximum concurrent sessions is based on its CPU count, and that Safari is limited to one concurrent session per Node. The guide gives no publication year for these figures. Actual resource use and useful concurrency depend on your browser mix, test workload, and host, so measure rather than treating defaults as targets.

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.
  • Begin with a small number of concurrent sessions and observe CPU, memory, session creation, and test completion under representative tests.
  • Increase concurrency in controlled steps, watching for resource pressure, slow session creation, or unstable tests.
  • Use small Nodes where practical to isolate failures; Selenium identifies Docker as a useful way to run smaller Nodes.
  • Revisit Node concurrency and runner worker counts when browsers, tests, or host resources change.

Docker, Kubernetes, and version-specific options

Selenium’s getting-started guide recommends Docker as a way to run smaller Nodes and isolate failures. The CLI reference documents mappings from Docker and Kubernetes image names to browser stereotypes, but warns that its option list could be outdated if options change before the documentation does. Verify flags and configuration against the version you deploy.

A Selenium release article dated February 22, 2026 describes Dynamic Grid support in Kubernetes for Grid 4.41.0: browser Pods are created for session requests and removed when sessions close. Treat this as release-specific functionality, not a promise that every Grid version or Kubernetes configuration supports it. Check the Selenium 4.41.0 release article and current documentation before adopting that setup.

Protect and operate the Grid

Selenium warns that an exposed Grid can let third parties access internal web applications and files or run custom binaries. Do not make the Grid endpoint reachable beyond its intended users without appropriate network restrictions. Apply access controls suited to your environment, such as limiting which networks or hosts can connect, and avoid exposing an unauthenticated Grid directly to the public internet.

When a session fails, use the Grid’s observability facilities and logs to understand what happened across the deployed components. Selenium’s observability documentation explains how observability can help operators understand and debug Grid internals. The useful diagnostic evidence depends on which components you run, the logs you retain, and the test workload.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshoot common setup problems

Symptom Likely cause What to check
Server will not start Java is missing or older than the documented Java 11 prerequisite, or the JAR path/name is wrong. Run java -version, confirm the downloaded JAR filename, and run the command from the correct directory.
Browser session cannot be created The browser or driver is missing, driver setup is unavailable, or a requested capability has no matching slot. Confirm browser installation and driver configuration on the relevant machine; check the Grid UI for registered slots; align client capabilities to them.
Node does not appear in the Grid The Node cannot reach the Hub or is configured with the wrong Hub address or version-specific options. Check network reachability and the Node’s startup output, then compare its registration configuration with documentation for the deployed release.
Tests wait for sessions All matching slots are occupied, or no free slot satisfies the requested capabilities. Inspect active sessions and available slots, reduce runner concurrency, or add capacity with the required browser configuration.
Sessions become slow or unstable under load Concurrency may exceed what the host can support for the actual workload. Measure CPU and RAM during representative runs; reduce concurrent sessions or distribute work across additional appropriately configured Nodes.
Grid is unreachable from a client The client is using the wrong endpoint, the Grid process is stopped, or network controls prevent the connection. Confirm the Hub or Standalone process is running, use the intended endpoint, and check connectivity from the client host.

Or skip the browser setup

If the job is to capture a website rather than run browser automation tests, ScreenshotNeo is a website screenshot API and MCP server. A single GET request returns a PNG, JPEG, WebP, or PDF; its clean-shot steps can accept consent banners and remove more than 60 known consent platforms, newsletter popups, and chat widgets. Those steps can each be turned off. Bot checks and CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and responses report page verdict and billing status in headers. Its MCP server provides take_screenshot, get_page_info, and capture_pdf for Claude, Cursor, and other MCP clients.

For a direct capture, create an API key and use the documented endpoint; see the ScreenshotNeo API documentation for options and response details.

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

ScreenshotNeo includes 1,000 screenshots a month free with no card; paid plans start at $5 for 3,000 shots. That is a screenshot service, not a replacement for Grid’s multi-browser WebDriver test orchestration. Sign up free for 1,000 screenshots a month, with no card required.

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.

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

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
Windows Errors? Fix Them Before They SpreadFree repair scan
Crashes, No Sound, or Screen Glitches?Free driver 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.