Introduction to Selenium Automation Testing
Automation testing is mostly helpful when a small change is made to the source code of the software, the tester has to manually test each and every functionality of the application, which takes lot of time for the testers to test the complete functionality from scratch. If instead the tester automates the complete software using any automation tool, he can just run the automation tests using the automation tool every time when a change is made to the source code of the project or when a new build is given for testing frequently. Ultimately it saves the testing time of testers and relives the testers from the stress.
- QTP ( Commercial Tool – Supports Desktop and Web Applications )
- Selenium ( Open Source Tool – Supports only Web Applications )
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 1 (or Selenium RC)
- Selenium 2 (or Selenium WebDriver)
Few Good things about the Selenium Automation Tools:
1. Selenium is an open source tool i.e. Unlike the proprietary tools its available free of cost.
2. This is the best tool available in the market for web application testing
3. 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.
4. 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
5. Selenium is available for Operating Systems such as Windows, Linux and Mac
6. 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. (i.e. It can be used only for automating the web based applications)
Selenium has the support of some of the largest browser vendors who have taken (or are taking) steps to make Selenium a native part of their browser. It is also the core technology in countless other browser automation tools, APIs and frameworks.