Thursday, 21 May 2015

Selenium Introduction

Selenium is a Software Testing Framework used to automate Web-based Applications. It is a collection of tools which can be used to perform various tasks.

Selenium is used to automate test cases related to Web Pages that are frozen and will not change in the near future. We can say that "Manual Testing" can be replaced by "Selenium (Automation)" to test most of the features on Web Pages.

Why To Automate ?

The first question that comes in our mind is: Why there is a need to automate Web-based Applications ? There are lots of things on a web page which requires our attention as far as testing is concerned, in order to deliver a perfect error-free optimized product. In such cases, it is difficult to track each and everything on a Website (presence of text boxes,functionality of buttons,etc).
For such reasons, Selenium was developed so that anyone with / without programming background can test for basic functionalities / UI elements and include such automated test cases in Sanity / Regression suites !! Even if you are not familiar with programming, don't worry, Selenium provides its hassle free "Record And Playback" feature via Selenium-IDE !!
Another reason is, Automation Scripts are not error prone when required to be executed multiple times, which allows us to use one of the Test Automation tool.

What To Automate ?

  • Functionalities that are not going to change in the near future.
  • Regression Testing.
  • Test Cases that takes more time to execute.
  • Test Cases that are error-prone and are very important.
  • Test Cases that require huge amount of input data.

What NOT To Automate ?

  • Functionalities that change frequently.
  • When a quick manual testing will do the job instead of Automation Script.
  • Testing the functionality for the first time.

Selenium Testing Framework - Various Tools:

Selenium IDE :

  • Very important tool for those who are not familiar with Programming.
  • Provides "Record and Playback" feature.
  • Contains various other features such as running a single/multiple test cases,test suites,controlling speed of execution,etc.
  • Its a Firefox Add-On.

Selenium RC :

  • It requires a standalone server for its execution
  • Needs a programming background.
  • Officially it has been deprecated so we will not go in detail.

Selenium Webdriver :

  • One of the most popular tool for Automation.
  • Programming background is needed.
  • Can automate almost any task on any Web Application.
  • Unlike Selenium RC, it doesn't require standalone server for its execution.

Selenium Grid :

  • Used to perform automation on remote machines.
  • Consist of one Hub and multiple Nodes.
  • Hub controls the execution of code on various Nodes.
  • This helps in parallel automation on different browsers and machines.

Will discuss these in upcoming posts.
Happy Learning.

YouTube Channel : Click Here