Selenium is an open source web automation technique it was initially developed by Jason Huggins in 2004 while he was working as an engineer in Thoughts Work.
Automation Testing is a process that validates software is functionality appropriately and meeting there requirement before it is released into production. It using a special automated testing software tools to execute a test case suite.
Table of Content
- What is Selenium Automation Testing?
- Why do need Selenium Tool in Automation Testing?
- Feature of Selenium
- Components of Selenium
- Advantage and Disadvantage of Selenium
What is Selenium?
Selenium is a most popular web automation tools in software testing. Selenium is free or open source automated testing framework used to validate web applications across different browsers and platforms.
Selenium supported as browsers like fire fox, IE, Safari, Opera, Google chrome.
The operating system are Windows, Mac, iOS, Linux and Android
You can use multiple programming languages like java, C, C#, Python, Objective –C, PERL, PHP, java script and Ruby etc…to create selenium test scripts.
Selenium is not just a single tool but a set of tools that helps testers to automate web based application more efficiently.
Why do need selenium tool in automation testing?
Selenium is basically used to automate the testing across the various browsers using selenium webdriver.
For example the manual tester has this scenario checking whether the web app’s sign up Page validates input stings and register a user successfully in latest version of chrome, fire fox and on windows 7. These input fields are Username, email address, and password.
- To enter the URL in the label bar
- Enter the invalid details in the input fields
- Check whether the input strings are validated or not
- Enter valid details and click Sign up
- Check whether opened a new Welcome “username “page
- Mark the passed if it did failed if the sign up feature broke anywhere during the test
Features of Selenium
- More flexible and extensible
- It supports multiple languages like JAVA, C, C#, etc..
- Also supports multiple browsers like Chrome, Firefox, etc..
- Main feature of this tool is an Open source and portable web framework
- Supports parallel execution
- No server installation
- Easy to learn
Also Read: Types of Software Testing in Software Field
Selenium components are separated into 3 versions like selenium 1, selenium2 and selenium 3 .The selenium 1 have a IDE,RC*,Grid and the selenium 2 have IDE, RC*, Webdriver, Gride and also Selenium 3 have a IDE, RC*, Webdriver, and selenium Grid
- Selenium IDE
- Selenium RC
- Selenium Webdriver
- Selenium Grid
Selenium Integrated Development Environment was developed by Shinya Kasatani in 2006. It is a firefox plugin which is used to create test cases.
It records and play back the reaction which the user had with the web browser. It supports for selenium 3.
Feature of Selenium IDE
- No programming skill
- It to create and edit the test cases
- Test case can be transport to different programming language like JAVA, Ruby, python..etc..
- It supported only Mozilla firefox browsers
- Selenium IDE is not acceptable for a dynamic web application
- No support for programming logic
Selenium Remote Control was developed by Paul Hammant. It is used to write web application in the different programming language. Selenium RC link with browsers with the help of selenium RC server.
Feature of Selenium RC
- RC server meet with simple HTTP GET/POST requests.
- No supported for headless HTML unit browsers
- In API’s are less object oriented
Selenium Webdriver is developed by Simson Stewart in 2006. Is also known as web browser. It is a framework that permits you to execute cross-browser test.
Now a days in all companies are mostly using this tool. It is a programming interface to create and execute test cases using the elements/object locators/webdriver. Selenium webdriver has a programming interface not IDE.
Selenium Webdriver is W3C Recommendation:-
- Webdriver is draw as a simple and more crisp programming interface.
- Webdriver is compact- oriented API
- It drives the browser functionality
Types of Selenium WebDriver
- Chrome driver
- Html Unit driver
- Safari driver
- IE driver
- Firefox driver
Features of Selenium WebDriver
- Support for programming languages like java, c#, php, Ruby, Perl, Python
- Support browser for firefox, chrome, IE, Safari
- And the operating system are Windows, Mac, Linux, Android, iOS
- It cannot be generated for detailed test reports
- No centralized maintenance of objects/elements
Selenium Grid was developed by Patrick Lightbody .It is used to run multiple test scripts at same time on multiple machines. And also the parallel execution is achieved with the help of Hub-Node architecture.
Hub can control the different test scripts on various browsers, OS and programming language in various nods. The Hub and nodes are started using jar files. It supports as RC test as well as webdriver test.
Two major components are…,
Hub: Hub is a server that accept the access request from the webdriver client, beat the JSON test comments to the remote drives on nodes. It takes command from the client and executes them remotely on the various nodes in parallel.
Node: Node is a remote device that consists of a native OS and a remote webdriver. It receives requests from the hub in the shape of JSON test commands and executes them using webdriver.
Feature of Selenium Grid
- Language and framework support
- Speed up testing
- Cloud based execution
- Executed on different browsers and operating system at the same time.
- It allows to run test case in different machines across different platforms.
- Selenium Grid is less secure than cloud based lab
- It requires skilled engineers
- Cost of these tool is more
Advantages and Disadvantages of Selenium tool
- Selenium is very simple to use and install
- No programming experience is required through of HTML and DOM are needed
- Selenium is an open source and its supports various browsers, programming language and operating system
- And also it supports parallel test execution
- Selenium uses fewer hardware resources
- Selenium is no supports for testcase iterations and conditional operations
- Test execution is slow compared to the selenium RC and Selenium Webdriver
- Selenium is tough to use takes more time to generate test cases
- Limited supports for image file upload testing
- New feature may not work properly
The above mentioned selenium components are very popular and mostly used in the industry except selenium RC. In this tool has terminate from the system because it have some drawbacks. Selenium Webdriver mostly used in all industries still now. In all components have a many features and also drawbacks is there.