Selenium offers different server configurations to run automated tests, including the Standalone Server, Selenium Server, and Selenium Grid. While they all use the same core server, they differ in setup and use cases.
Overview
Understand Differences between the following:
- Selenium Standalone runs everything on one machine (hub, node)
- Selenium Server refers to the core component
- Selenium Grid enables distributed test execution across multiple machines.
In Selenium 3, the Selenium Server and Standalone Server were used differently—Selenium Server could act as a hub or node, while the Standalone Server combined both.
In Selenium 4, Selenium Server and Standalone Server are effectively the same by default, unless you explicitly configure the server for a distributed Grid setup.
What is a Selenium Standalone server?
Selenium Standalone server is a java jar file used to start the Selenium server. It is a smart proxy server that allows Selenium tests to route commands to remote web browser instances. The aim is to provide an easy way to run tests in parallel on multiple machines.
Before going any further, let’s take a moment to understand what a Selenium jar is.
Selenium Jar is a group of API’s rolled into one jar for different languages (Java, Python, C#, Javascript, etc.). The client jar can be acquired by tools like Maven or Gradle, basically open-source build automation systems. In case, the dependencies of the jar files are not available, one cannot perform testing in a specific programming language.
To use a Selenium Grid, one can download the selenium-server-standalone JAR file. All the components are available through selenium-server. The standalone JAR contains the remote Selenium server and the client-side bindings which let you perform the testing without the need for any specific jar files.
If you are creating a Maven-based project, then include the following dependencies in pom.xml file
<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-server</artifactId> <version>3.X</version> </dependency>
Also, you can download the server from the official selenium page and start the server through command line using the command below:
java -jar selenium-server-standalone-3.11.0.jar
Once the server is up and running, execute the test cases. Either proceed with the Selenium Grid setup and perform testing on Grid or run tests with Selenium WebDriver.
Advantages of Selenium Standalone server
- Allows test distribution over a remote machine or multiple machines.
- Performs automation testing on different browsers with different versions.
- A single server performs all the tasks without the help of external drivers.
When Should you use the Selenium Standalone Server?
You should use the Selenium Standalone Server when:
- You want a simple setup to run tests locally without configuring a Grid (hub and nodes).
- You’re testing on a single machine with one or more browser drivers (Chrome, Firefox, etc.).
- You need a quick way to launch all Selenium components (server + drivers) with one .jar file.
- You’re working on small to medium projects where distributed testing isn’t required.
- You want to run tests locally before scaling to cloud/grid environments like BrowserStack.
What is Selenium Server?
Selenium Server is essential to execute Selenium RC tests and WebDriver tests in remote machines through Selenium Grid. Selenium WebDriver is used to perform automation testing of various web-applications against various browsers.
Selenium Server is essentially based on how one intends to use Selenium WebDriver.
While creating a session with the Selenium Server, one must send its desired capabilities. These capabilities provide the Selenium Server with necessary information such as which browser and operating system to use. The Selenium Server then handles all the requests from the BrowserDriver. This also includes automatic shutting down if something goes wrong during a test.
Note: Selenium server is mainly used for the Selenium RC functionality which is now deprecated. Also, there is no such server available for download. To run tests using a remote Selenium Server, one needs an account with a service that hosts the server (and the browser drivers). One such service is BrowserStack.
Advantages of Selenium Server
- Offers in-built test report generation
- Allows cross browser testing
- Controls the browser at the OS level
By gaining clarity on the difference between Selenium Standalone server and Selenium server, testers can use this selenium automation tool (the most popular in the world) with greater levels of sophistication. This article provides this information in some detail so that testers can begin to do so as early as possible.
When Should you use the Selenium Server?
Use the Selenium Server (in Grid mode) instead of the Standalone Server when:
- You need to run tests on multiple machines to scale your test execution.
- You want to distribute tests across different browsers, OSes, or devices in parallel.
- You’re working in a team or CI/CD setup where tests need to run on a shared remote infrastructure.
- Your project requires centralized control (hub) and multiple execution points (nodes).
- You want to optimize test speed and coverage beyond what a single machine can offer.
For local or simpler setups, the Selenium Standalone Server is often sufficient. For distributed and scalable testing, use the Selenium Server in Grid mode.
Differences between Selenium Standalone Server and Selenium Server
Here are the differences between Selenium Standalone Server and Selenium Server (in Grid Mode):
Feature | Selenium Standalone Server | Selenium Server (Grid Mode) |
---|---|---|
Setup Complexity | Simple, single-machine setup | Complex, multi-machine distributed setup |
Components | Hub + Node + Drivers in one .jar | Requires separate Hub and one or more Nodes |
Use Case | Local testing or small projects | Scalable, parallel testing across environments |
Parallel Execution | Limited to local resources | Supports full parallel execution on multiple machines |
Network Configuration | No network setup required | Requires network configuration for Hub-Node communication |
Best for | Quick local test execution | Large test suites, CI/CD, cross-platform/browser testing |
Selenium 4 Behavior | Default mode combines all components | Must be explicitly configured for Hub/Node roles |
Why run Selenium tests on BrowserStack?
Running Selenium tests on BrowserStack Automate gives you instant access to a Cloud Selenium Grid with 3,500+ real browsers and devices. It helps teams scale their testing quickly and reliably, ensuring high test coverage without the overhead of managing test infrastructure.
Key Benefits:
- No Infrastructure Setup: Skip the hassle of configuring local machines, drivers, or a Selenium Grid.
- Cross-Browser & Cross Platform Testing: Test on multiple versions of Chrome, Firefox, Safari, Edge, and real mobile devices.
- Faster Feedback: Run tests in parallel across browsers to reduce execution time significantly.
- Seamless CI/CD Integration: Works smoothly with Jenkins, GitHub Actions, Azure DevOps, and other CI tools.
- Debug with Ease: Access detailed logs, screenshots, and video recordings for every test run.
Conclusion
While Selenium Standalone Server and Selenium Server may seem similar, they serve different purposes based on your testing needs. The Standalone Server is ideal for simple, local test execution, whereas the Selenium Server (in Grid mode) enables distributed, scalable testing across multiple environments. Understanding the difference helps you choose the right setup for efficient and reliable test automation.