The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Start with Selenium Grid’s Standalone mode: run the Selenium Server on one machine, then point your test’s RemoteWebDriver at http://localhost:4444. That gives you a working remote-browser endpoint for development or a quick CI run. Move to Hub/Node when you need browsers on multiple machines or operating systems, and to Distributed mode only when operating Grid components separately is useful.
This guide follows the Selenium Server version reported by the official downloads page on September 9, 2026: 4.49.0. Check Selenium’s downloads page for the current release before installing; version numbers and defaults can change.
What Selenium Grid does—and when to use it
Selenium’s project documentation describes Grid as routing commands from WebDriver scripts to remote browser instances. That lets a test suite run against different browser versions and platforms, and lets compatible tests run in parallel across available slots. See the official Grid overview.
Use Grid when your test code needs to request a browser environment other than the one on the machine running the test, or when you want to distribute sessions across machines. For a single local browser and no need for remote execution or parallel capacity, running a browser locally is simpler. Selenium’s applicability guide asks, “When would you use a Selenium Grid?”; its answer centers on remote machines and parallel execution: When to Use Grid.
Free tools Windows power users keep installed
One-click scans. No signup required.
#1 Best Overall
Choose a Grid topology
| Topology | What runs | Best fit | Trade-off |
|---|---|---|---|
| Standalone | Grid components in one process on one machine | Local development, debugging, or a quick CI setup | Capacity and browser/OS coverage are bounded by that machine. |
| Hub/Node | A Hub provides the entry point and coordination; one or more Nodes provide browser slots | Multiple machines, operating systems, or browser versions behind one endpoint | Requires Node registration and network connectivity between components. |
| Distributed | Grid components run as separate processes or services | Deployments that need to operate or scale components independently | More configuration and network coordination; not the quickest way to get a first session. |
Choose based on the exact browser/OS combinations your tests request, expected concurrent sessions, available CPU and memory, and how much infrastructure you want to operate. Selenium also documents Docker-backed browser sessions and configuration for relaying commands to external WebDriver services, including cloud providers or Appium. Those are integration categories, not endorsements or claims about any provider’s quality or terms; see the Grid TOML configuration options.
Start a Standalone Grid
Prerequisites
- Java 11 or higher.
- The browser or browsers you want to run on the Grid machine.
- The Selenium Server JAR downloaded from the official downloads page.
- Browser drivers available to Selenium. Selenium Manager can manage drivers when enabled; for predictable behavior in a constrained or offline environment, install the appropriate driver and make it available on
PATH.
Selenium’s driver guidance says Selenium 4.6 and later can download the correct driver, and the Grid quick start documents the --selenium-manager true option. Driver management can depend on the binding and environment, so verify it in your setup: Unable to Locate Driver Error.
Launch the server
- Download the current stable Selenium Server JAR and note its actual filename.
- In a terminal in the directory containing the JAR, run the command below, replacing
selenium-server-4.49.0.jarwith that filename. Add--selenium-manager trueif you want Selenium Manager to configure drivers.
java -jar selenium-server-4.49.0.jar standalone --selenium-manager true
The official quick-start form is java -jar selenium-server-<version>.jar standalone; the versioned command above uses the release reported on September 9, 2026, and should be updated if the download page has a newer stable release. Keep the terminal running. Open http://localhost:4444 for the Grid UI, or query http://localhost:4444/status for status information. The documented starting instructions are at Getting started with Selenium Grid.
Connect a test with RemoteWebDriver
The test client sends a new-session request to the Grid URL and specifies the browser environment it needs. The Distributor matches that request against available Node slots. Use browser options rather than assuming the server’s default browser is the one your test intends to cover.
Rank #2
Java example
This minimal example requests Chrome on the local Standalone Grid and always quits the remote session, including when a test assertion or navigation fails.
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.RemoteWebDriver;
import java.net.URI;
public class GridSmokeTest {
public static void main(String[] args) throws Exception {
ChromeOptions options = new ChromeOptions();
options.setCapability("browserVersion", "stable");
options.setCapability("platformName", "linux");
options.setCapability("se:name", "grid-smoke-test");
WebDriver driver = new RemoteWebDriver(
URI.create("http://localhost:4444").toURL(), options);
try {
driver.get("https://example.com");
System.out.println(driver.getTitle());
} finally {
driver.quit();
}
}
}
Use the browser options class for the browser you want, such as FirefoxOptions or SafariOptions, and set supported capabilities such as browserName, browserVersion, and platformName to describe the requested environment. The exact browser version and platform values must match slots that your Nodes advertise; a request with no matching slot cannot start a session. se:name is optional metadata that can make sessions easier to identify in the Grid UI or metadata queries. Always call quit() so the remote slot is released.
Rank #3
Expand to Hub/Node for multiple machines
Use Hub/Node when one Grid endpoint should route sessions to machines with different browser and operating-system combinations. The Hub coordinates requests; Nodes run sessions using the browser slots available on their machines. Nodes may use operating systems different from the Hub and from one another.
- Start the Hub on the machine that will provide the common Grid endpoint.
- Start each Node with the Hub address. A Node detects browser drivers on its
PATHby default. - Ensure each Node can reach the Hub Event Bus and that the Hub can reach the Node’s HTTP port. The documented default Event Bus ports are
4442and4443; the Node port must also be reachable. - Point clients at the Hub endpoint, typically its host and port
4444, and request capabilities matching the Node’s advertised browser slots.
Use the official Grid quick-start instructions for the current Hub and Node command syntax: Getting started with Selenium Grid. If you change the Hub’s port, configure the Event Bus publish and subscribe addresses explicitly so Nodes and Hub agree. Do not assume a port open on one machine is reachable across a firewall or network boundary.
What the Hub components do
- Router: the client-facing entry point that directs requests.
- New Session Queue: holds session requests until they can be assigned.
- Distributor: finds a compatible available Node slot for each request.
- Session Map: associates a session ID with the Node running it.
- Event Bus: carries internal coordination messages.
- Node: runs browser sessions using the slots available on its machine.
These roles are useful when diagnosing why a request remains queued, fails to match, or cannot communicate with its assigned Node. Selenium details component responsibilities in Selenium Grid Components.
When to use Distributed mode
Distributed mode separates Grid components so they can be started and operated independently. It is appropriate when that separation fits your deployment or operations needs, not as a mandatory step after Standalone. The documented component startup order is Event Bus, Session Queue, Session Map, Distributor, Router, then Nodes; network addresses and ports must be configured to match the deployment.
| Component | Documented default port(s) |
|---|---|
| Event Bus | 4442, 4443, 5557 |
| Session Map | 5556 |
| Distributor | 5553 |
| New Session Queue | 5559 |
| Router | 4444 |
| Node | 5555 |
These are Selenium’s documented defaults, not universal requirements. The guide’s component examples assume local components; for separate hosts or containers, configure addresses, published ports, and firewall rules for the actual network. Follow the command examples and option definitions in the Grid getting-started guide and CLI options, checking the current syntax before deployment.
Rank #4
Size capacity and verify the Grid
Capacity depends on the workload, browser, test behavior, and machine resources. Selenium’s current guidance offers starting points, not universal performance guarantees:
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →- The getting-started guide suggests planning around 1 GB of RAM per browser session as a rough reference and recommends small Nodes for isolation.
- Node concurrency is generally bounded by available CPUs. Selenium’s component guidance describes a default of one slot per CPU for Chromium-based browsers and Firefox, and one Safari slot by default.
- Those are recommendations and defaults; Selenium explicitly cautions that they may not fit every context. Measure the suite you actually run before increasing concurrency.
After launch, check the Grid UI or /status to confirm the server is up and slots are visible. Selenium also supports GraphQL queries for Grid state and metadata. During a representative run, track CPU and memory use, session startup time, queue time, and failure rates; these measurements reveal whether the bottleneck is resource saturation, missing matching slots, or connectivity rather than an arbitrary session count. See the sizing and status guidance and Node slot behavior.
Secure the Grid endpoint
Do not expose an unprotected Grid to the public internet. Selenium warns that an exposed Grid can let third parties access the Grid infrastructure, internal web applications or files, and run custom binaries. Restrict client access to trusted systems, and permit only the component-to-component network paths required by your topology. The official quick-start provides this warning but does not prescribe one universal production security architecture, so adapt network controls to your environment: Selenium Grid security warning.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Troubleshooting common setup failures
| Symptom | Likely cause | What to check or change |
|---|---|---|
| Server will not start or reports an unsupported Java version | The Java runtime is missing or below the documented Java 11 minimum. | Run java -version, install Java 11 or higher, then retry with the correct JAR filename. |
| Client gets connection refused at the Grid URL | The Server process is stopped, the client is using the wrong host/port, or the port is not reachable. | Keep the server terminal running; check http://localhost:4444/status. For a remote client, use the Grid host rather than its own localhost and verify network/firewall access. |
| Session request waits or fails because no slot matches | No registered Node has a compatible free browser slot, or requested browser/version/platform capabilities do not match. | Inspect the Grid UI/status, check Node browser availability and advertised capabilities, and request a combination actually installed on a Node. |
| Browser driver cannot be found or browser does not launch | Driver management did not succeed in that environment, the driver is missing from PATH, or the browser is unavailable. |
Confirm the browser is installed; enable Selenium Manager where appropriate or install the matching driver on the Node and make it discoverable. See the driver-location troubleshooting guide. |
| Hub/Node setup shows no Nodes or cannot create sessions | Event Bus or Node HTTP connectivity is blocked, or the Hub address/ports differ from the values configured on the Node. | Check Node-to-Hub Event Bus reachability on the configured publish/subscribe ports and Hub-to-Node HTTP reachability. If using non-default Hub ports, set the Event Bus addresses explicitly. |
| Later tests cannot obtain a slot | A previous test may have left its session running, or the available slots are occupied. | Ensure every test calls quit() in cleanup, then inspect active sessions and queue state. |
Or skip the browser setup
For website screenshots rather than interactive WebDriver tests, ScreenshotNeo provides a screenshot API and MCP server for developers. Its API takes a URL in one GET request and returns an image or PDF; it does not replace Selenium Grid for browser automation or cross-browser test sessions.
Install curl, set your ScreenshotNeo API key, and run this request (see the ScreenshotNeo API documentation):
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Best Value
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com -o shot.webp
- Cookie/consent banners, newsletter popups, and chat widgets are removed before the shot; each cleanup step can be turned off.
- Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing; responses report the page verdict and billing status in headers.
- An MCP server offers
take_screenshot,get_page_info, andcapture_pdftools for AI agents and MCP clients. - The Free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 screenshots.
Sign up for ScreenshotNeo’s free plan to get 1,000 screenshots a month with no card.
Frequently asked questions
Can Selenium Grid run tests in parallel?
Yes. Grid can route sessions to multiple available browser slots. Actual parallelism is limited by compatible free slots and the resources of the machines running them.
Can a Node use a different operating system from the Hub?
Yes. Nodes can run on operating systems different from the Hub and from other Nodes; clients still send requests to the Grid endpoint.
Recommended Free Tools
Can I use Grid for a platform that is not installed on my machines?
Selenium documents integration paths for Docker-backed sessions and external WebDriver services. Whether a particular platform or service fits your needs depends on its available browsers, versions, and configuration.
Quick Recap
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.




