Tuesday, October 14, 2014

Selenium Automates Browsers


What is Selenium? The title says it all, Selenium automates browsers. It is though not just limited to automating the browser. In other words, Selenium is actually a suite of tools to automate web browsers across many platforms. It is a power packed tool for automation of your Application under Test(AUT) with its rich features that are hard to find in one tool.

Selenium was originally developed by Jason Huggins in 2004 at ThoughtWorks. He must have been a smart bored-to-the-core guy who preferred automating the tasks to avoid redundant manual effort. He created a sort of JavaScript library that formed that basis of Selenium Core. Selenium Core can be understood as the combination of Selenium RC and Selenium IDE. Finally in 2009, Selenium RC(Selenium 1.0) and Web driver, which was a separate project then, was merged and formed Selenium 2.0. Meanwhile in 2008, another tool Selenium Grid was developed.

Selenium Circle of Life 

This is the logo-ical representation of Selenium tool, which covers the platforms, browsers and programming languages supported by Selenium.

Features of Selenium:


1. Open Source Tool

    To say the least, Selenium is an Open source tool supported by vast community behind it. That means if some feature is not yet supported by selenium, there are people making it possible and soon selenium may support that feature. It can be downloaded free from the selenium downloads.

2. Multiple Browser and Operating Systems

    As shown in the image above, Selenium supports a wide variety of browsers and operating systems. Its support Windows, Mac and Linux platform on one hand and all major browsers like Chrome, Firefox, IE, Safari and Opera on the other. It also supports mobile platforms of Android, iOS, Blackberry and Windows phone, the drivers of which can be downloaded from the download section. More details about supported platforms.

3. Multiple Languages for Scripting

    Selenium supports multiple languages to write your selenium test cases. Eg. Java, Ruby, C#, JavaScript, Python, Php, Perl, Objective C, Haskell, R, Dart and Tcl.

4. Record and Playback

    It support recording the user interaction with browser and playing it back to user. This feature is only available through Selenium IDE which is a Firefox-only plugin.

5. Highly Flexible

    Selenium has its elaborate tool suite to cater to the need of the user. Each tool has its own area of functioning and should be used accordingly. Recorded tests through Selenium IDE can be converted to multiple programming languages and testing frameworks it supports. Selenium Grid distributes the tests over various nodes of different platforms.

6. Active Forum/Support Available

    This is the life support system of the Selenium. Any issues or bug can be reported to the forums in which active selenium users can respond and solve the queries.

Limitations:

1. Supports only the web-based application and cannot automate client-based, windows-based or desktop applications.
2. Do not support applications that use flash/flex or silverlight.
3. No inbuilt reporting capabilities but you can use JUnit, TestNG or NUnit for reporting purposes.
4. No object spy or object repository as in QTP.

No comments:

Post a Comment