Selenium Testing Tool
Introducing Selenium
Selenium
is a robust set of tools that supports rapid development of test automation for
web-based applications. Selenium provides a rich set of testing functions
specifically geared to the needs of testing of a web application. These
operations are highly flexible, allowing many options for locating UI elements
and comparing expected test results against actual application behavior.One of Selenium’s key features is the support for executing one’s tests on multiple browser platforms.
Selenium Components
Selenium
is composed of three major tools. Each one has a specific role in aiding the
development of web application test automation.
Selenium-IDE
Selenium-IDE
is the Integrated Development Environment for building Selenium test cases. It
operates as a Firefox add-on and provides an easy-to-use interface for
developing and running individual test cases or entire test suites.
Selenium-IDE has a recording feature, which will keep account of user actions
as they are performed and store them as a reusable script to play back. It also
has a context menu (right-click) integrated with the Firefox browser, which
allows the user to pick from a list of assertions and verifications for the
selected location. Selenium-IDE also offers full editing of test cases for more
precision and control.Although Selenium-IDE is a Firefox only add-on, tests created in it can also be run against other browsers by using Selenium-RC and specifying the name of the test suite on the command line.
Selenium-RC (Remote Control)
Selenium-RC
allows the test automation developer to use a programming language for maximum
flexibility and extensibility in developing test logic. For instance, if the
application under test returns a result set, and if the automated test program
needs to run tests on each element in the result set, the programming
language’s iteration support can be used to iterate through the result set,
calling Selenium commands to run tests on each item.Selenium-RC provides an API (Application Programming Interface) and library for each of its supported languages: HTML, Java, C#, Perl, PHP, Python, and Ruby. This ability to use Selenium-RC with a high-level programming language to develop test cases also allows the automated testing to be integrated with a project’s automated build environment.
Selenium-Grid
Selenium-Grid
allows the Selenium-RC solution to scale for large test suites or test suites
that must be run in multiple environments. With Selenium-Grid, multiple
instances of Selenium-RC are running on various operating system and browser
configurations. Each of these when launching register with a hub. When tests
are sent to the hub they are then redirected to an available Selenium-RC, which
will launch the browser and run the test. This allows for running tests in
parallel, with the entire test suite theoretically taking only as long to run
as the longest individual test.
Supported Browsers
|
Browser
|
Selenium-IDE
|
Selenium-RC
|
Operating Systems
|
|
Firefox 3
|
1.0 Beta-1 & 1.0 Beta-2: Record and playback tests
|
Start browser, run tests
|
Windows, Linux, Mac
|
|
Firefox 2
|
1.0 Beta-1: Record and playback tests
|
Start browser, run tests
|
Windows, Linux, Mac
|
|
IE 8
|
|
Under development
|
Windows
|
|
IE 7
|
Test execution only via Selenium-RC*
|
Start browser, run tests
|
Windows
|
|
Safari 3
|
Test execution only via Selenium-RC
|
Start browser, run tests
|
Mac
|
|
Safari 2
|
Test execution only via Selenium-RC
|
Start browser, run tests
|
Mac
|
|
Opera 9
|
Test execution only via Selenium-RC
|
Start browser, run tests
|
Windows, Linux, Mac
|
|
Opera 8
|
Test execution only via Selenium-RC
|
Start browser, run tests
|
Windows, Linux, Mac
|
|
Google Chrome
|
Test execution only via Selenium-RC(Windows)
|
Start browser, run tests
|
Windows
|
|
Others
|
Test execution only via Selenium-RC
|
Partial support possible**
|
As applicable
|
** Selenium-RC server can start any executable, but depending on browser security settings there may be technical limitations that would limit certain features.
Flexibility and Extensibility
You’ll
find that Selenium is highly flexible. There are multiple ways in which one can
add functionality to Selenium’s framework to customize test automation for
one’s specific testing needs. This is, perhaps, Selenium’s strongest
characteristic when compared with proprietary test automation tools and other
open source solutions. Selenium-RC support for multiple programming and
scripting languages allows the test writer to build any logic they need into
their automated testing and to use a preferred programming or scripting
language of one’s choice.Selenium-IDE allows for the addition of user-defined “user-extensions” for creating additional commands customized to the user’s needs. Also, it is possible to re-configure how the Selenium-IDE generates its Selenium-RC code. This allows users to customize the generated code to fit in with their own test frameworks. Finally, Selenium is an Open Source project where code can be modified and enhancements can be submitted for contribution.
By Avinash
No comments:
Post a Comment