Suggested post: Introduction to Selenium – What is Selenium? On this page, you will find selenium tutorial. Selenium, the most talked-about technology in Software Testing industry, is an open source tool (collection of tools / packages) developed by Thoughtwork, designed to automated web based applications. Selenium support various platforms that could be different OS or different browsers.
There are a few tools available under the Selenium umbrella, such as Selenium WebDriver (ex-Selenium RC), Selenium IDE and Selenium Grid.
One of the main reasons why Selenium Testing Framework is more popular is because it is the Open Source Software (Automation Tool).
Selenium provides support for integration of open source frameworks like TestNG, JUnit, NUnit and so on.
Selenium is not just a single tool but a suite of software’s, each catering to different testing needs of an organization.
It has four components.
Selenium Integrated Development Environment (IDE)
Selenium Remote Control (RC)
Let us talk one by one about each now.
1) Selenium IDE
Selenium IDE (Integrated Development Environment) is a tool for generating test scripts. It is a Firefox plugin.
Features of Selenium:
- Record and Play Back Test Cases
- Exporting Test Cases to different Languages
Disadvantages of Selenium IDE:
- It supports Mozilla Firefox Browser only.
- Data Driven Testing (executing tests using multiple sets of test data) is not possible.
- Test Results are not generated using Selenium IDE (It generates summary only).
- Random Test Cases execution is not possible
- Selenium IDE doesn’t support Flow Control Statements.
Selenium RC solves the limitations of Selenium IDE. It supports various programming languages like Java, C#, PHP, Perl, Python and Ruby languages to achieve logic required in test cases like conditional statements, iterations, exception handling, test reporting, database testing, capturing screen shots of failed tests, test case grouping etc…
Important advantages of Selenium RC:
- It supports Random Test cases execution
- Supports Flow control statements and other programming features to enhance Tests.
- Supports various Browsers for Tests execution.
Disadvantage of Selenium RC
- Test Case execution time is more because every client request first sends to Selenium Server after that send to Browser.
- Executing Tests in parallel is not possible.
Selenium-Grid allows the Selenium RC solution to scale for large test suites and for test suites that must be run in multiple environments.
Selenium Grid allows you to run your tests in parallel, that is, different tests can be run at the same time on different remote machines.
Selenium WebDriver is designed in a simpler and more concise programming interface along with addressing some limitations in the Selenium-RC API.
WebDriver overcomes the limitation of Selenium RC (Remote Control)
Selenium-WebDriver supports the following browsers along with the operating systems these browsers are compatible with Google Chrome, Internet Explorer, Firefox, Safari, Opera, HtmlUnit, Android (with Selendroid or appium), iOS (with ios-driver or appium).
Advantages of Selenium –
- Using Selenium, one can run the Selenium Test Cases in Multiple browsers.
- Selenium can be integrated with TestNG testing framework for testing the applications and for generating the reports.
- Selenium can be used for Android, iPhone, Blackberry etc. based mobile application testing.
- Since this is an Open Source Software (free tool), anybody can down load and use with free of cost.
- Selenium support various programming languages like java, C#, ruby, python etc. whereas Tools like QTP force you to use VBScript only.
- It has support for all of the popular browsers like IE, Firefox, Chrome, Safari etc. It also supports several Operating Systems and that makes it a tool of choice for cross browser/ cross platform certification.
Disadvantages of Selenium –
- Supports Web based (Browser based) Application only, doesn’t support Desktop or standalone Application test automation.
- Since it is Open source software, no reliable technical support from anybody.
- Deploying Selenium Tool is difficult than UFT (Formerly QTP) Tool.
To Learn More about each, use below links –