Before understanding what Selenium is, we have to know what actually a test automation is. Click here to read the test automation basics.
Selenium is one of the most popular open-source automated testing Tools available today.
Selenium automates web applications for testing purposes, but is certainly not limited to just that.
Introducing Selenium: Selenium is not a single tool, instead it is a set of different tools each with a different approach to support test automation. Learning all the tools will give you different options for approaching different test automation problems.These tools when used together give many options for locating the UI elements and comparing expected test results against actual application behavior. The following are the four tools that comprise the Selenium’s Tools Suite:
- Selenium IDE
- Selenium RC (Outdated)
- Selenium WebDriver
- Selenium Grid
Few Good things about the Selenium Automation Tools:
1. Selenium is an open source tool
2. Unlike the proprietary tools its available free of cost.
3. This is the best tool available in the market for web application testing
4. One of the selenium’s key features is the support for executing one’s tests on multiple browser platforms like Internet Explorer, Firefox, Google Chrome, Opera, Safari etc.
5. Selenium allows you to control a browser from a language of your choice. You can choose any one of these Six languages to write automation scripts -> Java, C#, Ruby, Python, Perl and Php (In this Blog, we will be using Java)
6. Selenium is available for Operating Systems such as Windows, Linux and Mac
7. Selenium can be used for functional, compatibility, regression testings and User Acceptance Testing (Mainly used for Regression Testing).
- Functional Testing refers to the test that verifies a specific action of the software (Example – Logging into the Gmail is an action)
- Compatibility Testing is performed to verify whether a software works with all other supported software and hardware.
- Regression Testing is the repetition of the earlier successful tests in order to make sure that changes to the software has not introduced any new side effects
- User Acceptance Testing is testing an application prior to customer delivery for functionality and usability using real world scenarios which resemble how the application will be used by the end users.
Drawbacks of using Selenium Automation Tools:
1. Selenium is a browser based testing tool. It cant be used for automating the desktop applications and mobile applications. (i.e. It can be used only for automating the web based applications)
Different Browsers supported by Selenium:
The following are the list of supported browsers on which Selenium Automation scripts can be executed:
- Chrome Browser
- Firefox Browser
- Internet Explorer Browser
- Safari Browser
- Opera Browser
Different Operating Systems / Environments supported by Selenium:
The following are the list of supported Operating System Environments on which Selenium Automation scripts can be executed:
- Microsoft Windows OS
- Apple OS X
- Linux OS