**Selenium** is an open source , automated testing tool used to validate the web applications across different browsers and different operating systems.
Selenium is widely used testing tool due to the following reasons.
1) As Selenium is developed in javascript, it is easy to use.
2)It helps to test various web applications against various web browsers like Firefox, Chrome, Opera, Safari
3)Selenium supports multiple coding languages like Java, Python, Perl, PHP, Ruby
4)It can be deployed on any operating system which includes Windows, Linux etc.
So it is platform independent.
5) For test management support, Selenium can be integrated with tools like JUnit and TestNG
The only drawback with Selenium is that it can only be used for web applications and not mobile or desktop applications.
Selenium comes with a package of tools which is termed as **Selenium Suite of tools** for easy testing of web applications.
It includes the following:
1)Selenium Integrated Development Environment(IDE)
2)Selenium Remote COntrol(RC)
3)Selenium Webdriver
4)Selenium Grid
Selenium IDE: It is a browser extension for Firefox or Chrome that automates functionality. Selenium IDE records user interactions on browser and exports them as reusable script. It is used to speed up the creation of automation scripts.
IDE does not support data-driven testing and database testing and cannot provide a detailed test report.
Selenium RC: It is a server written in Java that makes provision for writing tests in various programming languages like java, python, C# etc. The RC server accepts commands from the user program and passes them to browser as Selenium core Javascript commands which were initially used before the invention of RC .
Selenium Webdriver: It was the first cross-platform testing framework that could configure and control the browsers at Operating system level. It supports various programming languages like Python, Ruby, PHP etc and can be integrated with TestNG and JUnit for test management.
Selenium test script is the test code written in any programming language that can be interpreted by the driver. Through JSON wire protocol, data is transferred between server and client. Selenium uses drivers specific to each browser to establish a connection and supports various web browsers to test and run the applications.
Selenium Grid: It allows parallel execution of tests on different browsers and different operating systems. The Grid consists of a hub connected to several nodes. It receives the information about the OS and browser to be run on and accordingly picks a node that satisfies the requirements and passes the test to that node.
We use Selenium widely for the following reasons:
1) It is open-source
2) Selenium supports a lot of programming languages like Python, PHP, Perl etc.
3)It is extremely reliable as it gives accurate results.
4)Supports various browsers like Chrome, Firefox , Opera etc.
5)It has plenty of re-usability and add-ons.
Top comments (0)