QATechnicals

This blog is all about testing and quality analysis, tools techniques and best practises

Selenium

Software Testers, Quality Analysts must have heard this word-Selenium. Apart from being an element in the periodic table, Selenium is an open-source automated testing suite, which provides the application testers to test web applications on cross-browsers and cross-platform. If you head over to Selenium Homepage, the first line mentions what is does perfectly- ” Selenium automates browsers“.

Selenium as a whole is not a single tool such as HP Quick Test Professional (QTP). It is a collection or suite of various software’s , each of which serves a specific purpose. The entire suite of tools, from the Selenium project result in a combination of testing tools which gives us the abilities to cover almost all the testing needs of a web application of all types.

 

Components of Selenium- The Selenium Suite

Selenium suite consists of four main components or testing tools

  1. Selenium IDE
  2. Selenium RC
  3. Webdriver API’s
  4. Selenium Grid.

SeleniumSuite

 

Selenium RC and WebDriver API’s were later integrated into a single framework, renamed as Selenium-2. So if you see anywhere Selenium-1, it refers to Selenium RC alone. Selenium-2 includes both- RC and WebDriver.

 

Selenium IDE : Selenium IDE (Integrated Development Environment ) is a browser plugin for Firefox. Selenium IDE is pretty simple, lightweight but a very powerful tool, which allows the record and play functionality for your tests. Developed by Japanese developer,  Shinya Kasatani, IDE allows you to record the browser interactions and then later simulate them by playing.

selenium51

 

 

Selenium Remote Control : Also known as Selenium 1. This was created by ThoughtWorks Engineer Paul Hammant, owing to restrictions imposed by the Same Origin Policy, which prohibits the JavaScript code from accessing elements from a domain that is different from where it was launched. So Paul created a server, which acted as a HTTP proxy. This would make the browser trick into thinking that, the Selenium core and the web application are based on a single system/ domain.

chapt5_img02_Architecture_Diagram_2

 

WebDriver : Selenium WebDriver was first introduced in 2006. The main brain behind this powerful API was Simon Stewart. WebDriver was the first web testing framework , which was cross-browser and cross-platform and allowed controlling web interactions on a browser from the OS level. Selenium WebDriver gives a tester the freedom to write test scripts in various languages (Java, Perl, Python, C# etc.), which removed the language barrier, and provided a rich framework and object oriented API’s to the testers, to test user interactions on the web application. In 2008, Selenium RC and WebDriver were merged to created what we now know as Selenium-2.

webdriver

 

Selenium GRID : Selenium Grid was first conceived by Paul Lightbody. Selenium Grid is a server that allows you to run tests-across machines, across different browsers, in parallel. So if you want your test execution to be on different platforms- across browsers, all running in the same time, then Selenium Grid is your tool. The perfect definition is mentioned in the Selenium Grid source page– it allows running your tests in a distributed test execution environment.

Selenium Grid Setup

 

If you want to know how you can set up Selenium- both IDE and WebDriver, head over to this page, where I’ve explained the detailed steps for both.

One thought on “Selenium

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.