Subscribe by Email

Thursday, January 3, 2013

What are Selenium components?

Selenium is a portable testing frame work developed by Jason Huggins for automated testing of the web applications. It is specifically a recording and play back tool which eliminates the user’s task of learning a test scripting language. This tool makes use of its own development language popularly known as selenese.
There are 3 major platforms for selenese namely linux, windows and macintosh.

Components of Selenium

The selenium software testing frame work is composed of certain components about which we shall discuss in this article. Following are the components:
  1. Selenium IDE: This the selenium’s own integrated development environment dedicated to the creation of the selenium’s tests. This component needs to be implemented as an extension to firefox. Using this IDE, the scripts can either be automatically recorded or edited manually with the help of the IDE’s auto-completion support. It also possesses the ability to quickly move the commands around. However the scripts recorded are in selenese language. This language provides commands basically for two purposes:
a)   For retrieving data from commands to know what actions are to be performed on the web browser such as clicking, linking, selecting an option and so on.
b)   For retrieving data from the result of the actions performed by the commands.
       Its features are:
     a)   Recording and playback tool
     b)   Intelligent field selection
     c)   Autocompletion
     d)   Walk through tests
     e)   Debugging and setting break points
     f)    Saving tests in a number of formats
     g)   Selenium user extension
     h)   Automatic assertion of the page title.

  1. Selenium client API: It is not necessary for the tester to develop tests in selenese  only rather he can write tests in any other programming language. The tests thus written will be communicated to selenium through the calling methods provided by selenium client API. Selenium provides this client for the following languages:
   a)   Java
   b)   C#
   c)   Python and
   d)   Ruby

  1. Selenium remote control or selenium RC: This component is actually a server implemented in java which retrieves commands via HTTP for a particular browser. With this selenium component it has been made possible to write automated tests regardless of the the programming language for a web application and integrating it with the unit test frame works which already exist. Selenium project comes with client drivers for the following languages in order to make writing tests and easier task:
     a)   PHP
     b)   Python
     c)   Ruby
     d)   .net
     e)   Java and
     f)    Perl

The java driver provides support for the java script also through the rhino   engine. Nowadays a new selenium remote control server is required for launching the HTML test cases which requires for a different port for each of the parallel run. This is in contrast with the PHP and java test case since these require only one continuously running selenium remote control. The selenium B and driven selenium were re-factored by Paul Hammant to develop selenium RC. This also saw the re – implantation of the wire protocol in each of the language ports. After re-factoring, an intermediate daemon processing was done between the browser and the driving test script. As a result driving remote browsers and reducing the need of porting every code statement became possible. Thus the driven selenium was completely taken over by the selenium remote control. 

No comments:

Facebook activity