Advantages and Disadvantages of Selenium
I) Advantages of Selenium
1) Selenium is an Open Source Software.
(All Selenium Projects (Selenium IDE, Selenium RC, Selenium WebDriver and Selenium Grid) released under the Apache 2.0 license, It is free to use, anybody can download the source code and use, modify the source code according our company requirements, but selling modified code is not allowed.)
2) Selenium supports various programming languages to write programs (Test scripts)
We can use any one the above languages, most of the Selenium Testers using Java (nearly 77%).
Selenium IDE (one of the tool in Selenium’s Tool suite) doesn’t support any programming.
UFT (Formerly QTP) supports VBScript only to write Test Scripts.)
3) Selenium supports various operating systems (MS Windows, Linux, Macintosh etc…)
(Once we create Test Cases on any Operating Environment (Ex: MS Windows), they can be executed on other supported Operating Environents (Ex:Linux, Macintosh Etc… easily)
4) Selenium supports various Browsers (Mozilla Firefox, Google Chrome, IE, Opera, Safari etc…)
(Once we create Test cases then execute the Test Cases using all Popular Browsers without any changes in Test Cases. Browser driver only varies from one Browser to another Browser but Test cases are same.
Note: Selenium IDE (one of the tool in Selenium’s Tool suite) supports Mozilla Firefox Browser only.)
5) Selenium supports Parallel Test Execution.
(Using Selenium Grid we can execute Tests in Parallel, so that we can reduce the Test execution Time).
6) Selenium uses less Hardware resources.
(When it compares to Vendor Tools like UFT, RFT, SilkTest etc… Selenium requires less Hardware Resources)
II) Disadvantages of Selenium
1) No reliable Technical Support from anybody.
(Since It is Open Source software nobody providing reliable technical support, if it is UFT/QTP Vendor (HP) provides Technical Support)
2) It supports Web based applications only.
(Selenium automates Web browsers only, using Selenium we can automate Computer Web Applications and Mobile Web Apps, but Selenium doesn’t support Computer Desktop Applications, Mobile Native Applications and Mobile Hybrid Applications.)
3) Difficult to use, takes more time to create Test cases.
(Selenium WebDriver (Powerful tool in Selenium’s Tool suite) has Programming interface only, no IDE, so we have to write steps for each and every task they take more time.
If it is UFT/QTP has Programming interface as well as IDE, we can Tool features (Ex: Recording, Checkpoints, Data Table etc…) and VBScript features (Ex: Condtional statements, Loop Statements, Functions etc…) to create Tests/Test Scripts.)
4) Difficult to Setup Test Environment when it compares to Vendor Tools like UFT, RFT, SilkTest etc…
(Selenium uses various tools and plug ins to support Test Automation, we need configure them manually, if it vendor tool like UFT/QTP we just download and install the tool (all required components were integrated by the vendor))
5) Limited support for Image Testing.
6 New features may not work properly.
(Since it is open source software nobody is responsible for new features usage, they may or may not work properly, it is vendor tool (Ex: UFT or RFT or SilkTest), vendor is responsible for new features usage.)
7) No Test Tool integration for Test Management.
(No Tool available in the Selenium’s Tool suite to support Test Management, we have to choose any tool from the market, If it is UFT, ALM is there for integration of Project/Test Management tasks.)
8) No Built-in Reporting facility.
(Selenium WebDriver doesn’t have built in Result Report facility, we need to take help from either JUnit ot TestNG Testing Framework to genrerate Test Reports.
UFT/QTP has built-in Result Reporting facility (Test Result Viewer), UFT provides Test Result for every Test iteration.)