Before we start talking about Selenium testing and its frameworks, Let us take a look at why the demand for automation testing has soared intensely.

A product even after being rigorously tested and delivered has bugs. In spite of all the efforts to identify and solve the bugs before the product release, they often reappear, with the best manual testing processes in place. Automation testing eliminates all possible human errors occurring due to manual testing.

Automation testing has been considered indispensable for enterprises however it is considered to be expensive for smaller companies. The introduction of open-source automation testing tools, like Selenium have replaced manual testing.

The major objectives of software test automation are:

  1. Relieve the engineers from tedious and redundant manual testing operations
  2. Speed up the software testing process, thereby reducing the cost and time throughout the software life cycle

Here is a list of automation tools available:

  • Selenium
  • HP-UFT (formerly known as QTP)
  • TestComplete
  • Sahi
  • Watir
  • WatiN

The right kind of automation tool must offer ease of integration, compatibility, maintainability, and affordability.

 

Automation Frameworks

  • Testing framework or more specifically testing automation framework is an execution environment for automated tests
  • It is the overall system in which the tests are automated
  • It is defined as the set of assumptions, concepts, and practices that constitute a work platform or support for automated testing.

 

A testing framework is responsible for:

1. Defining the format in which to express expectations

2. Executing the tests

3. Reporting results

Selenium Testing

 

There are a few built-in tools/frameworks:

TestNG - as the assertion framework

Maven - as the build tool

Jenkins - CI Tool

Cucumber - Behaviour Driven Development (BDD)

Appium - Use with native, hybrid and mobile web apps

 

In this blog post, we will talk about Selenium, below given is the history of Selenium

Selenium Testing

 

Selenium is a set of different software tools each with a different approach to supporting test automation. One of Selenium’s key features is the support for executing one’s tests on multiple browser platforms. Selenium is Functional / Regression Testing Tool. Selenium is a suite of testing automation tools used for Web-Based applications: Selenium IDE, Selenium RC, Selenium WebDriver and Selenium Grid. 

 

  • Selenium IDE

Selenium IDE is an integrated development environment for Selenium scripts. It is implemented as a Firefox extension, and allows you to record, edit, and debug tests.  Selenium IDE includes the entire

Selenium Testing

 

Selenium Core, allows you to easily and quickly record and play back tests in the actual environment that they will run in.

 

  • Selenium RC

Selenium Remote Control (RC) is a server, written in Java that accepts commands for the browser via HTTP.  RC makes it possible to write automated tests for a web application in any programming language, which allows for better integration of Selenium in existing unit test frameworks.

To make writing tests easier, Selenium project currently provides client drivers for PHP, Python, Ruby, .NET, Perl and Java. The Java driver can also be used with JavaScript.

It can perform looping and conditional operations, and is faster than IDE. Selenium RC needs Selenium standalone server running for Tests to run.

Selenium Testing

 

  • Selenium WebDriver

Successor to Selenium RC, Selenium Web Driver accepts commands (sent in Selenese, or via a Client API) and sends them to a browser. This is implemented through a browser-specific browser driver, which sends commands to a browser, and retrieves results. Following are the traits fof Selenium WebDriver:

  1. Better and faster than Selenium IDE and Selenium RC.
  2. No dependency on JavaScript for automation.
  3. Controls browser by directly communicating to it.
  4. No need of Selenium server running for test to run.

 

Selenium WebDriver supports

Selenium Testing
  • Selenium Grid

The Selenium Grid runs tests on different machines at same time, tests on different browsers, and runs tests on different OS platforms. It improves the time it takes to run your suite by making use of parallel processing.

Selenium Testing

Comparison between Selenium RC and Selenium WebDriver

 

 

SELENIUM RC

 

SELENIUM WEBDRIVER

 

Complicated configuration

 

Less complicated configuration than RC

Programming experience required

 

Programming experience required

Supports all browsers

 

Supports all browsers

Record/playback not supported

 

Record/playback not supported

JavaScript based core engine

 

Interacts natively with browser

Requires to start the Selenium RC server to run scripts

 

Does not require any server and can run scripts by directly communicating with browsers

Can perform conditional and loop operations

 

Can perform conditional and loop operations

Used to write advanced scripts

 

Used to write advanced scripts

Does not support listeners

 

Supports listeners

It’s API is slightly object-oriented and redundant

 

It’s API is purely object-oriented and compact

Slower execution than WebDriver but faster than IDE

 

Has the fastest execution

 

Conclusion

Selenium is probably the best option for automated testing of Websites today.  It is becoming increasingly popular and it is the first choice of automation testers as well as organizations for automating the testing of Web-based applications for both the GUI as well as the functionality.

 Selenium can also be used as a unit testing tool for JavaScript. You can use opensource. Selenium tool selenium IDE is a plugin to firefox to record and playback tests (like QTP).

You can then export the recorded test in most language e.g. html, Java , .NET , Perl , ruby etc. The exported test can be run in any browser and any platform using “selenium remote control”

To know more about Selenium or to avail our testing services, drop in a word on inform@faichi.com!

Automation Testing
Manual Testing
Selenium

Get in Touch