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:
- 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.
- 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
- 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:
Post a Comment