Understanding Automation With Selenium: A Beginner's Guide

Understanding Automation With Selenium: A Beginner's Guide

What is testing - Software Testing is the process of finding defects in software.

The goal of testing is to release the quality software to the customer/client.

There are two types of testing - Manual Testing, Automation Testing

Manual Testing - When testing is done by manually and no tools are performed during testing is called Manual Testing.

Automation Testing - Performing the testing with the help of tools is known as Automation Testing.

Difference between Manual Testing and Automation Testing :

Manual Testing :

Manual testing involves human testers and software.

While manual testing is not cost-efficient for high-volume regression

Investment is required for human resources.

Humans can make mistakes and hence accuracy is less

In manual testing, there is no need for programming knowledge.

Automation Testing :

Automation testing utilizes automation tools to execute test cases.

Automated testing is not effective for low-volume regression

Investment is required for testing tools.

The machine hardly makes mistakes.

In automation testing, there is just a need for programming knowledge.

Selenium:

Selenium was developed by Jason Huggins in 2004 while he was working as an Engineer at ThoughtsWork.

Selenium is a web-based application. It is open source. It is a collection of multiple components.

The components are IDE, WebDriver, and Grid.

Selenium WebDriver - By using selenium WebDriver we will able to automate test cases.

Selenium IDE - It is a small component through which we can able to record all the actions and playback the actions.

Selenium Grid - We will execute our test cases in a remote environment.

There are three types of Application

Web-based applications - Whatever application we are accessing through the browser on the internet.

Desktop or Window based applications - This application we can install directly in our system. We do not need the internet or a browser. Examples - Notepad, MS Word, PowerPoint etc.

Mobile App Applications - We can directly download from Play Store.

Selenium :

Advantages :

  • Open source tool and also free of cost.

  • Selenium supports many operating systems like Windows, Macintosh, Linux, Unix etc.

  • Selenium supports many browsers like Internet Explorer, Chrome, Firefox, Opera, Safari etc.

  • Selenium supports a variety of languages that include Java, Perl, Python, C#, Ruby, Groovy, Java Script, and VB Script. etc.

  • Selenium can be integrated with other open-source tools for supporting other features.

Disadvantages :

  • We can use Selenium only to test web applications. We cannot test desktop applications.

  • It is not possible to perform testing on images. We need to integrate Selenium with Sikuli for image-based testing.

Selenium Versions & using components :

Selenium 1.x - IDE(Firefox), RC(Remote Control), Grid

Selenium 2.x - IDE(Firefox), WebDriver, Grid

Selenium 3.x - IDE(Firefox, Chrome), WebDriver, Grid

Selenium 4.x - IDE(Firefox, Chrome), WebDriver, Grid

Here x = 1,2,3…etc. That means Selenium 1.1 version, 1.2 version … using the same components(which are mentioned above) and Selenium 2.1, 2.5, … using the same components.