How to run your test on multiple machines using Selenium Grid


About Selenium Grid

Selenium-Grid permits you run your tests on various machines against various programs in parallel. That is, running numerous tests in the meantime against various machines running diverse browsers and working frameworks. Basically, Selenium-Grid bolsters circulated test execution. It takes into account running your tests in a distributed test execution condition.  

Working of Selenium-Grid with a Hub and Nodes

A grid comprises of a solitary hub, and at least one node. Both will utilize the selenium-server.jar executable.

The hub gets a test to be executed alongside data on which browser and ‘platform’ (i.e. WINDOWS, LINUX, and so forth) where the test ought to be run. It ‘knows’ the setup of every node that has been ‘enlisted’ to the hub. Utilizing this data, it chooses an accessible node that has requested for the browser-platform combination.  Once a node has been chosen, Selenium commands initiated by the test are sent to the hub, which passes them to the hub relegated to that test. The node runs the browser and executes the Selenium orders inside that browser against the application under test.


In order to run all the test scripts, present in the framework on a remote computer, we use selenium grid. In selenium grid, there is two type of systems first is HUB and other is a NODE.

HUB: – It is a server computer which controls the execution of the selenium grid.

NODE: – It is the remote Computer which accepts the script from the HUB and executes the test scripts, Multiple nodes systems can communicate with a single hub system.

  For using selenium grid, we have to perform a few steps.

  • Start the HUB
  • Start the NODE

Execute our Framework using remote WebDriver

1. Start the HUB

In the server computer copy selenium-server jar file paste it inside the (c: drive) or any location you want to.
Open the command prompt on the exact location where you have that selenium-server jar file and type the following command java -jar c:/selenium-server-standalone-2.53.1.jar -role hub. 

It should show the following message-
Nodes should register to
Selenium Grid hub is up and running

  The default port number for the HUB is 4444.

2. Start the NODE 

On the remote computer where you want to run the test script copy selenium-server jar file paste it inside the (c: drive) or any location, you want to.
Open the command prompt on the exact location where you have that selenium-server jar file and type the following command java -jar c:/selenium-server-standalone-2.53.1.jar -role node –hub
Note- copy the hub URL from your HUB system.
And it should show the following message-
Registering the node to the hub:
The node is registered to the hub and ready to use

And on your HUB system, you will also get a message-
Registered a node

The default port no for a node is 5555.

3. Execute our Framework using remote WebDriver

To execute the test scripts in a remote computer we have to use the remote web driver class in order to specify the browser which should be open on a remote computer we should use desired capability class.

For executing test scripts in NODE system simply execute test script from the HUB system.


Selenium Grid reduces a lot of batch execution time which can be counted as an advantage.  It can also perform cross-browser testing and perform multiple OS testing. The basic concept of Selenium Grid is that it allows you to run your test on multiple machines and on multiple browsers.

Acquire the knowledge of choosing the right tech stack for your web app

The best possible tech stack i.e. the decision of a programming language, tech, structures and libraries and other development tools that will run your application should be determined before any code gets composed. We all realize that anything truly can be composed in anything. Be that as it may, pick it right and your project will thrive, pick it wrong and you may encounter traps joined with colossal budgetary inconveniences.

In the meantime, the present decision of the correct technology stack is tremendous. In this way, ensure you lead a great deal of thought and examination before deciding on the best possible arrangement of advancements.

There are many commendable options with respect to the best-suiting technology stack for your next enormous venture. Check every one of the upsides and downsides before beginning. To viably execute your task, select experienced group, the correct procedures and test-driven improvement. Guarantee you have discovered a well fit design.

Firstly, study your target audience and the requirements of your project. Research about your potential customers demographic. How can you promote your product amongst the people?
Research about the traffic that is to be expected. The decision of whether you want a complex, simple or mid-range project is crucial.

Once contemplated, you get the complete idea of your optimal client and essentials. And after that, it will turn out to be outstandingly simpler for you to focus on your product’s development and the most recent technology stack it best suits. Indeed, the sort of your project plays an essential part in picking the best possible tech stack.

Divided into two faces


1. Client-side (Front-end)

Client-side, as the name recommends is the place where the genuine connection with the client happens. The client will connect with the site, the web application or a versatile application relying upon what he is utilizing. The customer side is the visual side of the site, enabling clients to collaborate with the site and producing proper reactions.

Tech in the front end.
C) JavaScript

2. Server-side (Backend)

Server-side is the place where developers perform the following functions like programming the business logic, server-side hosting, and deployments, working with databases etc.
The back end consists of
A) A server
B) An application (OS, Web server, Programming language, Web framework),
C) A database


Most Commonly Used Tech Stacks




The MEAN stack is MongoDB, Express, Angular (formerly Angular.js), and Node.js. It picked up prevalence as JavaScript ended up famous on both the customer and server sides. Not at all like other conventional stacks, the MEAN stack is altogether JavaScript-controlled, on account of Node.js, the JS improvement condition that gives JavaScript back-end usefulness. MEAN applications is written in one language for both server-side and customer side execution situations as all components of the MEAN stack support programs are composed in JavaScript.


Angular.js aka Angular 2 is a Front-end web app framework originally created and maintained by Google. It has an easy scale because of its design and dynamic CLI. It runs JavaScript code in the client’s program, permitting your application UI to be dynamic. Angular, initially made and kept up by Google, run your JavaScript code inside the client’s internet browsers to execute a responsive (UI).


Express was the first one to allow developers to build software using JavaScript on the server for the first time. It gave JavaScript a new identity in terms of back-end usability. Back-end web application framework running on top of Node.js. Node.js framework is used for building scalable web applications. Express can be used to simply provide a REST API – giving the front-end app access to the resources it needs e.g., the database.


When it comes to heavy data lifting Node.js has the upper hand as due to its asynchronous nature. Specifically, non concurrent and occasion based design of Node.js makes it an extraordinary fit for RTA (Real-Time Applications, for example, texting and communitarian applications (drawing and video conferencing) in which numerous solicitations are going on simultaneously and where information is every now and again rearranged forward and backward from the server to the customer. The same features make Node.js suitable for applications that process data from IoT (Internet of Things) and Single Page Applications (SPAs) that involve highly flexible, dynamic and heavy client-side functionality.


MongoDB is a document database with the scalability and flexibility that you want with the querying and indexing that you need.

The Document database is used by your back-end application to store its data as JSON (JavaScript Object Notation) documents. The data is stored in many ways
1. It can be column-oriented.
2. Document-oriented
3. Graph-based
4. Organized as a KeyValue store.

It’ll be a better choice for companies with smaller databases and looking for a more general solution.


It is a JavaScript library developed by Facebook for building responsive user interfaces. React is easier for developers to get up to speed with and use.


LAMP Stack


LAMP stands for – Linux Apache MySQL PHP. These components, arranged in layers supporting one another, make up the software stack. Websites and Web Applications run on top of this underlying stack. LAMP works well for both dynamic websites and applications.

The LAMP stack is used by companies like Facebook, Yahoo, Wikipedia just to name a few.


PHP is used by 83.6% of all the websites. It is used to enhance web pages. Amazon, Facebook, and Wikipedia use it extensively. Over 80% of the top 10M websites use PHP.  PHP has a powerful code base that includes web development frameworks (Laravel, Symfony) that enable Rapid Application Development. PHP was designed specifically to smoothly on the Web. That’s the reason it includes all needed functionality to manage HTML, servers, and databases (MySQL in particular).


Developed, Distributed and supported by Oracle Corporation, MySQL is a popular open-source relational database management system (RDBMS). SQL is a standout amongst the most flexible and generally utilized choices accessible, settling on it a sheltered decision and particularly extraordinary for complex questions.



The response to the inquiry lies in the particular needs of the business. Every stack has their own arrangement of points of interest and weaknesses, so the one you pick will generally rely upon the sort of web application that you’re hoping to assemble.