Power Your Software Testing with AI Agents and Cloud
The Native AI-Agentic Cloud Platform to Supercharge Quality Engineering. Test Intelligently and Ship Faster.
- TestMu AI (Formerly LambdaTest)
- /
- Blog
- /
- Selenium Standalone Server and Selenium Server [Differences]
Selenium Standalone Server and Selenium Server [Differences]
Uncover disparities: Selenium Standalone Server vs. Selenium Server. Elevate your Selenium skills for sophisticated testing.
Last Updated on:
Selenium Standalone Server and Selenium Server both execute browser commands, but Standalone Server runs modern WebDriver-based tests through Selenium Grid while Server ran the deprecated Selenium RC engine.
Standalone Server implements the W3C WebDriver protocol that Selenium 3 and Selenium 4 use and can launch up to five browsers in parallel, while Selenium Server executes only one RC script at a time.
This guide covers Selenium's core components, when to run Standalone Server versus Grid, and the complete difference between Standalone Server and the legacy Server.
Key Takeaways
- Selenium Standalone Server runs tests through the W3C WebDriver protocol used by Selenium 3 and Selenium 4.
- Selenium Server is the deprecated engine that ran Selenium Remote Control (RC) scripts on a single browser at a time.
- Selenium Grid lets Selenium Standalone Server launch up to five browsers in parallel across different machines.
- Selenium Manager, built into Selenium since version 4.6, downloads the correct browser driver automatically without a manual ChromeDriver or GeckoDriver setup.
- Selenium IDE works as a browser extension for Chrome, Firefox and Edge, and integrates with Selenium Cloud Grid for parallel recording and playback.
- Cloud-based Selenium Grid removes the need to manually maintain Selenium Hub and Node infrastructure across operating systems and browser versions.
Selenium Components
Selenium is a suite of tools with a distinct approach to support automation testing. It provides more than just a base for building an automated testing framework – Selenium is an open-source project with a large community, which means there are many ways to contribute to the project, participate in the discussion and gain valuable knowledge.
Read more: The Top 52 Selenium Open Source Projects On GitHub
Selenium is widely regarded as one of the best test automation frameworks for web test automation.
Selenium has 34,501 stars and 8,717 forks on the Selenium GitHub Page. However, when integrating Selenium into your project, you need to consider that there are different ways of doing this. The latest version of Selenium (Selenium 4) has some interesting innovations. Selenium 4 was released in October 2020, with an exciting set of new features:

Also read: What’s New In Selenium 4 & What’s Being Deprecated?
However, if you are new to Selenium 4 or want to migrate from Selenium 3 to Selenium 4, this video from the TestMu AI YouTube Channel will help you get started with Selenium 4:
You can follow the channel to stay updated with more videos on Selenium Testing, Cypress Testing, and more.
Selenium has different components, which helps to achieve multiple purposes like Record and Playback test cases directly from the browser, running test cases in a remote machine, writing script-based test cases in various programming languages, and more.

Selenium IDE
It’s an Integrated Development Environment to record and play AUT directly from the browser. Testers who don’t have scripting knowledge can effectively use this IDE to record their interactions with the AUT and playback any number of times in the future.
Selenium IDE is available as a browser extension, and it can only be used with browsers that support extensions. Initially, in Selenium 2, it was available only for the Chrome browser. However, now we can use it with Chrome, Firefox, and Edge browsers. With Selenium 4, the Selenium IDE can also be integrated with Selenium Cloud Grid like TestMu AI. This helps in expediting the testing process as Selenium automation tests can be run in parallel on different browsers & OS combinations.

Also read – Detailed Selenium IDE Tutorial
Selenium WebDriver
Selenium WebDriver is an Open Source API and a script-based test framework that helps execute the same script in different browsers with the help of browser drivers.
Browser | Supported OS | Maintained by | Download |
|---|---|---|---|
Chromium/Chrome | Windows/macOS/Linux | ||
Firefox | Windows/macOS/Linux | Mozilla | |
Edge | Windows/macOS | Microsoft | https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/ |
Internet Explorer | Windows | Selenium Project | |
Safari | macOS High Sierra and newer | Apple | Built-in |
Selenium WebDriver can be integrated with TestNG and JUnit test frameworks to achieve parallel execution, manage test scripts, and generate test reports. To choose the appropriate framework for your test requirements, check out our tutorial on JUnit 5 vs. TestNG.
You can also perform Continuous Integration testing by integrating WebDriver with Maven and Continuous testing with Jenkins.
Also read: How to integrate Jenkins with Selenium WebDriver?
Selenium Grid
Selenium Grid is a tool that allows you to manage several different Selenium Server instances on different machines. It makes the process of executing tests in parallel easier and allows you to scale your tests across a number of different nodes.
Selenium Grid is most commonly used in automated web testing, however, it can be used for any type of test that requires multiple Selenium Server nodes.
Let’s deep dive into Selenium Grid in the next section:
Do You Still Need to Manually Download Browser Drivers?
No. Selenium Manager, built into Selenium since version 4.6, detects the browser version installed on the machine and downloads the matching driver automatically before the session starts.
Selenium Manager ships as a small Rust binary invoked by the Selenium client library the first time a browser session starts, and it caches the resolved driver locally so later runs skip the download.
Selenium Manager automates the driver download step that Selenium WebDriver setup previously required by hand. It handles the following automatically:
- Driver resolution: Selenium Manager matches the installed Chrome, Firefox, Edge or Safari version to the correct driver binary and downloads it before the test run starts.
- Version tracking: teams no longer need to check ChromeDriver, GeckoDriver or EdgeDriver release pages by hand to keep driver versions in sync with installed browsers.
- Manual override: passing a driver path explicitly through a system property still overrides Selenium Manager, which CI environments use to pin a specific driver version.
- Browser coverage: Selenium Manager supports Chrome, Firefox and Edge; Safari and Internet Explorer still need the driver named in the Selenium WebDriver support table.
Selenium Manager only resolves the local driver binary. Selenium Standalone Server and Selenium Grid still route sessions to remote and cloud browsers, so the distinction this article covers has not changed.
Selenium Standalone Server or Selenium Grid
Selenium Grid facilitates test cases to execute in multiple machines and browsers simultaneously, which fastens the test case execution speed and drastically reduces the turnaround time. In Selenium 3, Selenium Standalone Server (Selenium Grid ) has two different components.
- Selenium Hub: Hub is a central system that accepts test case requests from clients. It also manages threads.
- Selenium Node: Node registers itself with the hub, and it’s a place where the actual browser exists. A node machine is connected to the hub, which receives test scripts from the hub and executes them. It is also possible to launch several nodes on different devices running different environments.

In Selenium 4, the Grid becomes more flexible. For example, once the user starts the server, the Grid automatically works as both nodes and hubs, so the user does not need to start hub and node separately as in Selenium 3 Grid.
It also supports advanced tools like Docker, which is used in the DevOps process. Now Grid 4 has a more user-friendly UI also.
There are three ways to run Selenium Grid 4:
- Starting as Standalone, Gird itself acts as hub and node.
- Start as a separate Hub and Node.
- Fully Distributed (Router, Session, Distributor, etc.)
Also read: Selenium Grid 4 Tutorial
Executing Test Cases using Selenium Grid in Standalone mode
In this section of the article, we will see how to execute test cases using Selenium Grid in Standalone mode.
Step1: Download Selenium Standalone Server/Grid jar file, i.e., selenium-server-4.49.0.jar

Step 2: Start the server as Standalone. Open the terminal and navigate to where the jar file is downloaded, and then type: “java -jar selenium-server-4.49.0.jar standalone”
Step 3: Now, the local Grid is ready with the attached node and starts to accept and execute test cases.

Once the Server is started, all the available browsers and session details of browsers can be viewed at http://localhost:4444/ui/index.html#/.

Step 4: To execute test cases, initialize the browser from the grid and invoke via RemoteWebDriver, passing the grid URL and browser capability.
package LambdaTest;
import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
public class TestCaseRunToGrid {
public RemoteWebDriver driver = null;
@BeforeTest
public void setUp() throws Exception {
ChromeOptions options = new ChromeOptions();
options.setAcceptInsecureCerts(true);
options.setCapability(CapabilityType.BROWSER_NAME,"chrome");
try {
driver = new RemoteWebDriver(new URL("http://localhost:4444"), options);
} catch (MalformedURLException e) {
System.out.println("Invalid grid URL");
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
@Test
public void firstTestCase() {
try {
System.out.println("Logging into Lambda Test Selenium PlayGround page ");
driver.get("https://www.testmuai.com/selenium-playground/simple-form-demo/");
WebElement messageText=driver.findElement(By.cssSelector("input#user-message"));
messageTextBox.sendKeys("Welcome to cloud grid");
WebElement getValueButton = driver.findElement(By.cssSelector("#showInput"));
getValueButton.click();
System.out.println("Clicked on the Get Checked Value button");
} catch (Exception e) {
}
}
@AfterTest
public void closeBrowser() {
driver.close();
System.out.println("The driver has been closed.");
}
}
Code Walkthrough

In this code block, I have used one of the most popular test automation frameworks, TestNG. TestNG is a java based framework designed for Unit, Functional, and End to End testing. If you are new to TestNG, you can go through this Selenium TestNG Tutorial to get started with your first TestNG automation script.
With TestNG Assertions and Annotations, you can group and orchestrate the large test case execution, validate the expected result, and execute test cases in parallel.
@BeforeTest is the TestNG Annotation that executes the statements before each TestMethod runs. Prerequisites for each test method like launching the browser, configuring browser parameters, launching the application URL, setting browser properties kind of statements can be included in this code block.
In Selenium 3, DesiredCapabilities Class helps to set up properties of the browser. However, the DesiredCapabilities Class is replaced by Options in Selenium 4.
Each browser has a respective Option Class that provides methods to change the browser’s properties such as cookies, incognito, headless, disabling pop-ups, and adding extensions.
Here is the Options object that would be used for setting the browser-specific capabilities:
- Chrome – ChromeOptions
- Firefox – FirefoxOptions
- Internet Explorer (IE) – InternetExplorerOptions
- Safari – SafariOptions
- Microsoft Edge – EdgeOptions
RemoteWedDriver is a Class with all driver classes like ChromeDriver, EdgeDriver, FirefoxDriver, InternetExplorerDriver, OperaDriver, SafariDriver as SubClass.
To use this Class, we have to import the “org.openqa.selenium.remote” package. The RemoteWebDriver accepts two parameters, one is the hub URL, and the other one is an object of Browser Option. Here, I have launched Chrome browser using ChromeOption object, which provides the property of the browser to launch.

@Test Annotation is one of the most important TestNG Annotations, which drives a simple Java method as a test case.
WebElement is a Selenium class, where the driver.findElement returns a WebElement object. Here, the Elements can be identified using multiple locator strategies.
Selenium Locators makes it easy to locate elements on a webpage and perform actions on them, which helps to ease the process of Selenium Automation Testing.
Advantages of Selenium Standalone Server
- Helps to handle test execution in the distributed way either in VM or Cloud Selenium Grid.
- Helps to perform cross browser test automation.
- Can achieve parallel execution using Selenium Cloud Grid, where you can execute multiple test cases in parallel in different environments.
Limitations of working on local Selenium Grid
- Initial setup of various nodes in different OS, browser, browser versions and setting up devices for mobile testing is burdensome for the QA team. It requires skilled resources to set up Hub and Node in various environments.
- The performance also wholly depends on the Server/VM used to set up nodes.
- It’s tough to scale down or up the number of nodes on demand.
Selenium Cloud Grid is the best solution to overcome all these shortcomings of the local grid.
Watch this video to learn about collecting performance metrics in Selenium 4 using the Chrome DevTools Protocol on the TestMu AI platform.
Why do we need Selenium Cloud Grid?
- Easy maintenance – the team doesn’t need to take any hassle to maintain the software or hardware needs of servers for node setup.
- Scalability – easy to manage the number of nodes/parallel execution
- Reliability – Cloud servers have near-perfect availability, so there is a low risk of interruption.
Executing Test Cases using cloud Selenium Grid
This needs a minor update on code snippets, where the localhost gets to communicate with Selenium Cloud Grid like TestMu AI and access the URL.
Step 1: Register on TestMu AI and get the Username and Access Key from the TestMu AI Profile Section.
package LambdaTest;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.HashMap;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.firefox.FirefoxOptions;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
public class TestCaseRunToCloudGrid {
public RemoteWebDriver driver = null;
public String username = "";//LambdaTest userName
public String accesskey = "";//LambdaTest Accesskey
public String gridURL = "@hub.lambdatest.com/wd/hub";
@BeforeTest
public void setUp() throws Exception {
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("browserName", "Chrome");
capabilities.setCapability("browserVersion", "97.0");
HashMap<String, Object> ltOptions = new HashMap<String, Object>();
ltOptions.put("user",username);
ltOptions.put("accessKey",accesskey);
ltOptions.put("build", "Selenium 4 grid Sample");
ltOptions.put("name", "Selenium 4 grid Sample");
ltOptions.put("platformName", "Windows 11");
ltOptions.put("selenium_version","4.0.0");
capabilities.setCapability("LT:Options", ltOptions);
try {
driver = new RemoteWebDriver(new URL("https://" + username + ":" + accesskey + gridURL),capabilities);
} catch (MalformedURLException e) {
System.out.println("Invalid grid URL");
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
@Test
public void firstTestCase() {
try {
System.out.println("Logging into Lambda Test Selenium PlayGround page ");
driver.get("https://www.testmuai.com/selenium-playground/simple-form-demo/");
WebElement messageTextBox = driver.findElement(By.cssSelector("input#user-message"));
messageTextBox.sendKeys("Welcome to cloud grid");
WebElement getValueButton = driver.findElement(By.cssSelector("#showInput"));
getValueButton.click();
System.out.println("Clicked on the Get Checked Value button");
} catch (Exception e) {
}
}
@AfterTest
public void closeBrowser() {
driver.close();
System.out.println("The driver has been closed.");
}
}
Code Walkthrough

These public variables store the values for the TestMu AI username, key, and hub URL to execute the test case in Cloud Grid.

How the cloud grid understands the browser properties needs to be changed to scale up from local Grid to Selenium Cloud Grid. Here, only the hub URL and capabilities need to be updated by generating capabilities from TestMu AI Capability Generator.
Selenium testing tools like TestMu AI allows you to perform cross browser testing at scale. list of browsers provides 3000+ browsers with a combination of different OS and versions. The ltOptions map here stores all the browser properties required to launch the browser from the cloud hub.
RemoteWebDriver accepts two parameters, one as a Hub URL with credentials and the second one as a Capability object which has all the properties about the browser to launch. Here it is Windows 11 OS, Chrome Browser version 97.0.
Once the code is executed, you can also view your test results, logs, and the test recording as well in your TestMu AI Automation Dashboard.

You can also see the test results on the TestMu AI Analytics Dashboard. The dashboard shows all the details and metrics related to your tests under the Test Overview and Test Summary section.

If you’re a software developer or tester with an interest in Selenium automation testing, this Selenium 101 certification course can help you develop your skillset.
Austin Siewert
Co-Founder, Steadfast Systems
Discovered @TestMu AI yesterday. Best browser testing tool I've found for my use case. Great pricing model for the limited testing I do 👏
2M+ Devs and QAs rely on TestMu AI
Deliver immersive digital experiences with Next-Generation Mobile Apps and Cross Browser Testing Cloud
Here’s a short glimpse of the Selenium 101 certification from TestMu AI:
Selenium Server
The Selenium server in Selenium 2 is entirely different from what we call Selenium Standalone Server/Selenium Grid in Selenium 4 and Selenium 3.
Selenium Remote Control (RC) was the main Selenium project that stood for a long time before Selenium WebDriver(Selenium 2.0) came into existence. But unfortunately, it depreciated due to its complex JavaScript layers and redundant API.
Selenium RC components
- Client libraries for scripting language binding
- Selenium Server to launch and interact with the browser

Selenium server helps to execute Selenium RemoteControl client scripts. Now it’s completely deprecated, and we don’t have the option to download this jar itself. However, when we look into older versions to better understand, To execute RemoteControl scripts, we need to start the Selenium Server first.
Here, I have mentioned a RemoteControl script, which executes the code in the local Selenium server, using LocalHost.

Difference Between Selenium Standalone Server and Selenium Server
Selenium Standalone Server | Selenium Server |
|---|---|
Supports WebDriver scripts | Selenium RC commands/scripts |
It can launch up to 5 browsers, so it supports parallel execution | Executes on only one browser at a time |
Supports headless browser and fasten the execution | Headless htmlUnit browsers are not supported. |
Conclusion
In this article, we have seen the difference between Selenium Standalone Server and Selenium Server. Understanding the difference between Selenium Standalone server and Legacy Selenium Server helps use the Selenium Grid effectively either in local, distributed mode or in Cloud Selenium Grid.
For interview preparation, review these Selenium interview questions.
Author
Veena Devi is a software testing and quality engineering leader with 14+ years of experience across automation, API, and manual testing for web, mobile, and desktop applications. She specializes in test automation framework design using Selenium, Java, TestNG, and Maven, along with Postman and SmartBear tools such as TestComplete and ReadyAPI. She previously served as Lead Engineer, Developer Relations at TestMu AI (formerly LambdaTest), and currently works as an Automation Lead while mentoring and training testing professionals.
Selenium Standalone Server and Selenium Server FAQs
Did you find this page helpful?
More Related Blogs
TestMu AI forEnterprise
Get access to solutions built on Enterprise
grade security, privacy, & compliance
- Advanced access controls
- Advanced data retention rules
- Advanced Local Testing
- Premium Support options
- Early access to beta features
- Private Slack Channel
- Unlimited Manual Accessibility DevTools Tests







