Software can be tested manually but if a person is doing manual testing then there are a lot of chances of making mistakes during monotonous manual testing. It is very simple to understand; if you will keep on doing the same task again and again then you might commit some mistake or may miss something very important. And moreover, the repetitive tasks are boring. So automation comes in the picture. Selenium is one of the Automation tools available in the market.
Selenium is not a single tool but a set of tools using which you can automate any web based application.
The different tools available in Selenium suite are:
- Selenium IDE : Selenium Integrated Development Environment is a record and playback tool. We cannot do a deep testing of an application using SIDE. You can record, edit and debug tests using it. It is a firebox plug-in using which you can simply record your workflow the way you want to test it and then later on you can play it.
- Selenium RC : Unlike Selenium IDE, Selenium RC supports almost all the browsers like firebox, IE, chrome, Safari etc. In selenium IDE you can do the record and playback but here it doesn’t support record and playback. It is like a standalone java program using which you can run html test suits. Here before executing the test script you need to start the server.
- Selenium Web Driver : Selenium Web Driver supports almost all the browsers like firebox, IE, chrome, Safari etc. Like Selenium RC, web Driver also doesn’t support record and playback. But here you don’t have to start the server before executing the test script. Using web Driver you can use any programming language in order to create your test script. The programming languages which are supported by web Driver are: java, .Net, python, php, Perl, ruby. You just need to know any one of the mentioned programming languages to create your test script in web Driver using programming language.
- Selenium Grid : Selenium Grid helps you to run multiple tests across different machines and browsers. It helps in minimizing the execution time. So you should use Selenium Grid if you want to reduce the execution time or if you want to run your tests across different browsers, machines, and operating systems.
Selenium is an open source tool but it has a number of disadvantages too. For example, you can use it to automate only web based applications and user has to rely on any programming languages. But there are a number of advantages too like you can run your scripts on different operating systems and browsers.
Advantages Of Selenium
- It is open source tool.
- It supports all the operating systems.
- It supports almost all the browsers like firebox, IE, Chrome, Safari.
- Supports the programming languages like java, Ruby, Python. Php, .Net, and C#.
- Multiple Tests can be run simultaneously.
- It supports mobile Devices.
Disadvantages Of Selenium
- It supports only web based applications.
- There is no default test report generation in selenium. The details result does not get generated.
- There is no feature like Recovery Scenario.
- Parameterization is not built-in, so the user has to rely on the programming language.
- Loop and data driven testing is not supported by Selenium IDE and the image verification is not available.