Introduction to Selenium
1) Selenium is a suite of Software tools to automate Web Browsers.
Selenium is not a single tool like UFT /QTP or RFT or SilkTest, it is a set of tools, but we no need to use all Selenium tools for any project. We chn choose one or two Selenium tools for our projects, even single Seleniumtool also enouf for a project test automation.
Example: Using Selenium WebDriver only, we can automate any web application.
Selenium’s Tool Suite:
Selenium IDE (Integrated Development Environment, Supports Test Design and Test Execution)
Selenium RC (Remote Control, supports Test Design and Test Execution)
Selenium WebDriver (Supports Test Design and Test Execution)
Selenium Grid (Its only for Parallel Test Execution, doesn’t support Test Design)
Selenium Automates Browsers,
Selenium Supports only Web based Computer Software Applications and Mobile Software Applications which are having web forms.
Selenium doesn’t support Desktop Applications, where as UFT/QTP supports Desktop and Web Applications.
2) It is an Open source suite of tools mainly used for Functional and Regression Test Automation.
Selenium is Open source, no license cost. Anybody can download and use unlimited time with free of cost.
3) Selenium supports various Operating environments.
Note: UFT / QTP Supports MS Windows operating environment only.
4) Selenium supports various Browsers.
Note 1: Test Cases are same for all Browsers, Browser driver only various from one driver to another, if you want execute test cases using Google Chrome Browser then we have to create & use Chrome Browser driver, want to execute Test Cases using Mozilla Firefox browser then create Firefox driver, if you want IE then create IE Browser driver.
Note 2: Selenium IDE supports Mozilla Firefox only.
5) Selenium supports various programming environments to write programs (Test scripts).
We can use any one of the Programming Languages to enhance Test cases, most of the Selenium Testers (nearly 77%) using Java. UFT/QTP supports VBScript only.
Note: Selenium IDE (One of the tool of Selenium’s Tool Suite) doesn’t support any programming.
6) Selenium supports various Testing Frameworks to group Test Cases, Prioritize Test Cases, Execute Test batches and generate Test Reports.
Java – JUnit, TestNG
(If we use Java with Selenium then JUnit or TestNG are the supporting Testing Frameworks, we can choose any one the Frameworks)
C# – NUnit
(If we use C# programming in Selenium then we have to use NUnit Testing Framework.)
PHP – Behat + Mink
Ruby – Rspec
Python – PyUnit
i) Selenium WebDriver – To recognize / identify Elements/object and perform operations on Elements
ii) Java Programming – To Enhance Test Cases
iii) TestNG Testing Framework – To Group Test Cases, Execute Test batches and generate Test Reports etc…