Selenium Grid is a tool that distributes the tests across multiple physical or virtual machines so that we can execute scripts in parallel (simultaneously). Selenium-Grid support distributed test execution. It dramatically accelerates the testing process across different browsers and platforms by giving us quick and accurate feedback and result.
Selenium Grid allows us to execute multiple instances of WebDriver tests in parallel which uses the same code base; hence the code need NOT be present on the system on which the test is executing. The selenium-server-standalone package includes Hub, WebDriver, and Selenium RC to execute the scripts in grid.
Selenium grid has two essential components Node and Hub:
Hub: As the name suggests this is the central point where the tests would be triggered .The hub can also be understood as a server. A Selenium Grid has only one Hub and it is launched on a single machine.
Node: Nodes are the Selenium instances that are attached to Hub which execute the tests. There can be more than one node in a grid which can be of any OS and can contain any of the Selenium supported browsers.
Architecture
Following diagram will give you the whole idea about how the Selenium Grid works.
Working with Grid
In order to work with the Grid, we need to follow certain protocols. This are the major steps involved in this process:
- Configuring the Hub.
- Configuring the Nodes.
- Develop the Script and Prepare the XML File.
- Test Execution.
- Result Analysis.
Configuring Hub
Step 1:
Download the latest Selenium Server standalone JAR file from
http://docs.seleniumhq.org/download/.
Step 2:
Start the Hub by launching the Selenium Server using the following command. Now we will use the port '4444' to start the hub.
Note: Ensure that there are no other applications that are running on port no. 4444.
|
Step 3:
Now open the browser and navigate to the URL http//localhost:4444 from the Hub (The system where you have executed Step 2).
Step 4:
Now click on the 'console' link and click 'view config'. The configuration of the hub would be displayed as follows. As of now, we haven't got any nodes; hence we will not be able to see the details.
Configuring Node
Step 1:
Logon to the node (where you would like to execute the scripts) and place the 'selenium-server-standalone-2.48.2' in a folder. We need to point to the selenium-server-standalone JAR while launching the nodes.
Step 2 :
Launch FireFox Node using the following command.
|
Step 3:
After executing the command, come back to the Hub. Navigate to the URL - http://10.30.217.157:4444 and the Hub would now display the node attached to it.
Step 4:
Now let us launch the Internet Explorer Node. For launching the IE Node, we need to have the Internet Explorer driver downloaded on the node machine.
Step 5:
To download the Internet Explorer driver, navigate to http://docs.seleniumhq.org/download/ and download the appropriate file based on the architecture of your OS. After you have downloaded, unzip the exe file and place it in a folder which has to be referred while launching IE nodes.
Step 6:
Launch IE with following command.
|
Step 7:
After executing the command, come back to the Hub. Navigate to the URL - http://10.30.217.157:4444 and the Hub would now display the IE node attached to it.
Step 8:
Let us now launch the Chrome Node. For launching the Chrome Node, we need to have the Chrome driver downloaded on the node machine.
Step 9:
To download the Chrome Driver, navigate to http://docs.seleniumhq.org/download/ and then navigate to Third Party Browser Drivers area and click on the version number '2.20' as shown below.
Step 10:
Launch Chrome using the following command.
| |||
|
Now the whole Environment is setup for working with Selenium Grid.
Developing script and Preparing XML file
We can develop a test using TestNG. We can launch each one of those browsers using remote WebDriver. It can pass on their capabilities to the driver so that the driver has all the information to execute on Nodes.
The Browser Parameter would be passed from the "XML" file. The contents of the XML file can create tests and put them in a suite and mention parallel="tests" so that all the tests could be executed in parallel.
Result Analysis
Step 1:
Upon completing the execution, we can analyze the result like any other execution. The result summary is printed in the console as shown in the following snapshot.
Step 2:
Navigate to the 'Results of Running Suite' Tab and TestNG would display the result summary as shown below.
Step 3:
Upon generating the HTML, we will be able to see the test results in HTML format.
Conclusion
This tutorial has taught you how to use Selenium to create your own tests.
Selenium is an open-source tool that is used for test automation. It is licensed under Apache License 2.0. Selenium is a suite of tools that helps in automating only web applications.
Now you are a partial professional in Selenium and you can take your expertise in selenium to next level by practicing it in your projects. Thank you..!!
References
The following resources contain additional information on Selenium. Please use them to get more in-depth knowledge on this topic.
Useful Links on Selenium
Wikipedia- Wikipedia reference for Selenium.
Selenium Reference - This User Guide is provided Selenium Contributing team.
Books for Reference
I got what I want ,,!! best info ever..!!
ReplyDeletekuşadası
ReplyDeletemilas
çeşme
bağcılar
siirt
GK1