Selenium is an open-source and a portable automated software testing tool for testing web applications. It has capabilities to operate across different browsers and operating systems. Selenium is not just a single tool but a set of tools that helps testers to automate web-based applications more efficiently.
Tools available in the Selenium suite and their usage.
|Selenium IDE||Selenium Integrated Development Environment (IDE) is a Firefox plugin that lets testers to record their actions as they follow the workflow that they need to test.|
|Selenium RC||Selenium Remote Control (RC) was the flagship testing framework that allowed more than simple browser actions and linear execution. It makes use of the full power of programming languages such as Java, C#, PHP, Python, Ruby and PERL to create more complex tests.|
|Selenium WebDriver||Selenium WebDriver is the successor to Selenium RC which sends commands directly to the browser and retrieves results.|
|Selenium Grid||Selenium Grid is a tool used to run parallel tests across different machines and different browsers simultaneously which results in minimized execution time.|
Advantages of Selenium
QTP and Selenium are the most used tools in the market for software automation testing. Hence it makes sense to compare the pros of Selenium over QTP.
|Selenium is an open-source tool.||QTP is a commercial tool and there is a cost involved in each one of the licenses.|
|Can be extended for various technologies that expose DOM.||Limited add-ons and needs add-ons for each one of the technologies.|
|Has capabilities to execute scripts across different browsers.||Can run tests in specific versions of Firefox , IE, and Chrome.|
|Can execute scripts on various operating systems.||Works only with Windows.|
|Supports mobile devices.||Supports mobile devices with the help of third-party tools.|
|Executes tests within the browser, so focus is NOT required while script execution is in progress.||Needs Focus during script execution, as the tool acts on the browser (mimics user actions).|
|Can execute tests in parallel with the use of Selenium Grids.||QTP cannot execute tests in parallel, however integrating QTP with QC allows testers to execute in parallel. QC is also a commercial tool.|
Disadvantages of Selenium
Let us now discuss the pitfalls of Selenium over QTP.
|Supports only web based applications.||Can test both web and desktop applications.|
|No feature such as Object Repository/Recovery Scenario||QTP has built-in object repositories and recovery scenarios.|
|No IDE, so the script development won’t be as fast as QTP.||More intuitive IDE; automation can be achieved faster.|
|Cannot access controls within the browser.||Can access controls within the browser such as favorites bar, backward, and forward buttons.|
|No default test report generation.||Default test result generation within the tool.|
|For parameterization, users has to rely on the programming language.||Parameterization is built-in and easy to implement.|