Selenium is an open source portable and automated software testing tool used for testing of web applications. Selenium can operate across different operating systems and different browsers. It is not a single tool but a set of various tools that aid testers in automating the web based applications efficiently and effectively.
Here is a brief understanding of various tools that make Selenium the apple of testers’ eyes.
The Integrated Development Environment of Selenium is a Firefox plugin which allows the testers to record all their activities as they follow the workflow that they need to test. It offers graphical user interface that records the user’s Firefox actions. This can only be used with Firefox browser and other browsers are not supported.
Selenium Remote Control is a flagship testing framework that lets testers perform simple browser actions and linear execution. It completely uses the strengths of programming languages like Java, C#, Python, PHP, PERL and Ruby that helps in creation of more complex tests.
Selenium WebDriver is the successor of Selenium RC. It directly sends commands to the browser and then the results are retrieved.
Selenium Grid is a tool which is used to run tests parallel across different machines and different browsers. This results in reduction of execution time greatly.
Advantages of Selenium
- Selenium is an open source tool
- It can be extended for several different technologies that expose DOM
- It has the ability to execute scripts across different browsers
- It also can execute scripts on different operating systems
- It supports mobile devices.
- It executes tests within the browser. Therefore no focus is needed during script execution.
Disadvantages of Selenium
There are few disadvantages of Selenium which definitely does not affect the popularity of Selenium. Here we go.
- Selenium supports only web based applications
- It does not have the feature of recovery scenario
- It does not have IDE due to which the development of script becomes slow
- It does not have the ability to control access within the browser
- It does not have test report generation
- The uses has to depend on programming language for parameterization