# Automation testing:-

&#x20;Automation testing is the process in which all the drawbacks of manual testing are addressed or overcome properly and provides speed and accuracy for the existing testing process.

&#x20;**Drawbacks of automation:-** -Expensive -All the areas of application cannot be tested with automated tools \
-Lack of automation expert in the market

> &#x20;Note: - Automation testing is not the replacement of manual testing. It is just helps testers do the testing accurate and faster. Hence it saves time and money. Unless and until the application comes to a stable state, it is not suggested to perform automation testing

&#x20;**Automation Tool:** Automation tool is defined as an assistant of a test engineer which works based on the instructions and information given by the test engineer.&#x20;

**Types of Automation testing Tools:** -Functional tools (QTP,Selenium,Soap Ui) \
-Performance tools (Load runner, Jmeter) \
-Management tools (ALM,Jira)

&#x20;Selenium is an open-source tool that is used for test automation. It is licensed under Apache License 2.0. Selenium is a suite of tools that helps in automating only web applications

&#x20;**Functional Testing** refers to the test that verifies a specific action of the software (Example - Logging into the Gmail is an action)&#x20;

**Compatibility Testing** is performed to verify whether software works with all other supported software and hardware.

&#x20;**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&#x20;

**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&#x20;

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:

&#x20;Selenium IDE

&#x20;Selenium 1 (or Selenium RC)

&#x20;Selenium 2 (or Selenium WebDriver)

&#x20;Selenium-Grid

&#x20;**Selenium IDE** Selenium Integrated Development Environment (IDE) is a Firefox plugin that lets testers to record their actions as they follow the workflow that they need to test

&#x20;**Selenium RC** Selenium Remote Control (RC) was the flagship testing framework that allowed more than simple browser actions and linear execution. It makes use of the full power of programming languages such as Java, C#, PHP, Python, Ruby and PERL to create more complex tests

**Selenium WebDriver** Selenium WebDriver is the successor to Selenium RC which sends commands directly to the browser and retrieves results.

&#x20;**Selenium Grid** Selenium Grid is a tool used to run parallel tests across different machines and different browsers simultaneously which results in minimized execution time.

#### &#x20;Few Good things about the Selenium Automation Tools:&#x20;

1\. Selenium is an open source tool i.e. Unlike the proprietary tools its available free of cost.&#x20;

2\. This is the best tool available in the market for web application testing

&#x20;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.&#x20;

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 (In this Blog, we will be using Java)&#x20;

5\. Selenium is available for Operating Systems such as Windows, Linux and Mac&#x20;

6\. Selenium can be used for functional, compatibility, regression testings and User Acceptance Testing (Mainly used for Regression Testing).

#### &#x20;Drawbacks of using Selenium Automation Tools:

&#x20;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)

&#x20;2\. No inbuilt report generator

![](https://106491783-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LTW0eWU2biq082hmKEn%2F-LTko-8SHQ_YdBEp_35s%2F-LTkqKwvWmya_0Z2f3_s%2Fimage.png?alt=media\&token=2aa49455-58c8-400a-b78c-68db5bec0ea3)

