Selenium Tutorial - Bci news Blog

bricklayerbelchedInternet and Web Development

Feb 5, 2013 (4 years and 2 months ago)

188 views

Selenium


Testing Tool

What is Selenium?



Selenium is a robust set of tools that supports rapid
development of test automation for web
-
based
applications.


• Works anywhere JavaScript is supported


• Hooks for many other languages
-

Java, Ruby,
Python


• Can simulate a user navigating through pages and
then assert for specific marks on the pages


• All you need to really know is HTML to start



using it right away

Selenium


You can use open source
-

Selenium tool



Selenium IDE is a plug
-
in to Firefox to record and
playback tests (like WinRunner, 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".

Where to get it?

• You can use Selenium
-
Core and customize


everything


deprecated.


• But it is easier to just get a Firefox plug
-
in


“Selenium
-
IDE” that helps you “record” test


Cases.


• You can record how an app is being used and then
playback those recordings followed by asserts.


• Get everything at:
www.openqa.org/selenium/


Selenium Components

Selenium
-
IDE


Integrated Development Environment for building Selenium test
cases.


Operates as a Firefox add
-
on and provides an 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.


Offers full editing of test cases.


Although it is a Firefox only add
-
on, tests created in it can also
be run against other browsers by using Selenium
-
RC &
specifying the name of the test suite on the command line.

Selenium
-
RC (Remote Control)





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
test suites or test suites to 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.

Steps to start with Selenium!

1) Begin: write and run tests in Firefox.

Selenium IDE

is a Firefox add
-
on that records clicks, typing,
and other actions to make a test, which you can play back in
the browser.


2) Customize: your language, your browser.

Selenium Remote Control (RC)

runs your tests in
multiple
browsers

and
platforms
. Tweak your tests in your
preferred
language
.


3) Deploy: scale out, speed up

Selenium Grid

extends Selenium RC to distribute your tests
across multiple servers, saving you time by running tests in
parallel.

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

Supported Browsers

*
Tests developed on Firefox via Selenium
-
IDE can be executed on any other supported
browser via a simple Selenium
-
RC command line.

Selenium Commands


Selenese

1)
Actions are commands that generally manipulate the state of
the application. They do things like “click this link” and “select
that option”.


Can be called with “AndWait” suffix, e.g. “clickAndWait”.


2) Accessors examine the state of the application and store the
results in variables, e.g. “storeTitle”.


They are also used to automatically generate Assertions.


3) Assertions are like Accessors, but verify that the state of the
application conforms to what is expected. Eg. “make sure the
page title is X”, “verify that this checkbox is checked”.



All Selenium Assertions can be used in 3 modes: “assert”,
“verify”, and ” waitFor”. For example, you can “assertText”,
“verifyText” and “waitForText”.

Selenium IDE








The list of







actions in the







actual test






case







to execute


The root of web

application you

want to test






The log of the

events that were

executed, including

any errors or

warning that may

have occurred

Selenium IDE

Execution

Commands

Record test

actions

Try the test in

the Web based

TestRunner

Specify commands,

including asserts

Reference of the

currently selected

command

Test Suite

Execution

Control

Test Cases

Steps of the

test case

Application

being tested

TestRunner Control

TestRunner Control

Pause/Play

Execution

Step through

Execution

Control Speed

of Execution

Summary of

the Test

View the log of

the current

execution

View the DOM

of the current

Page being tested

Highlight

Elements in the

Execution

Run All Tests

Run Selected Test

Test Creation Demo in
http://test.roosterit.com/


Login to http://test.roosterit.com/


Click on Tools || Selenium IDE

Selenium IDE in recording Mode

Add Consultant Details

Click On Submit

Inserted Successfully

Selenium IDE
records the Test
Steps





Stop Recording

Save Test Case/Test Suite

Make the
required
changes to
the Test Case



change Click
to
clickAndWait
command

Make the required
changes to the Test
Case


change the
email id in the
second parameter

Make other
changes

Second Test Case:

searchConsultant

1)
Record

2)
Stop Recording

3)
Save with a Name

4)
Make Required
Changes to
parameters or
Commands

5)
Play

Run the entire Test Suite/Each Test Case

See RESULT Here

Test Suite on Firefox

addConsultant
Test Case

Changes made to

addConsultant
Test Case

searchConsultant

Test Case

Test Case Saved in HTML Tabular Format

Creating a Test Suite

A Test Suite in Selenium is just an HTML file that contains a
table of links to tests

<?xml version="1.0" encoding="UTF
-
8"?>

<!DOCTYPE html PUBLIC "
-
//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1
-
strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>


<meta content="text/html; charset=UTF
-
8" http
-
equiv="content
-
type" />


<title>Test Suite</title>

</head>

<body>

<table id="suiteTable" cellpadding="1" cellspacing="1" border="1"
class="selenium">

<tbody>

<tr><td><b>Test Suite</b></td></tr>

<tr><td><a href="addConsultant.html">addConsultant</a></td></tr>

<tr><td><a href="searchConsultant">searchConsultant</a></td></tr>

</tbody>

</table>

</body>

</html>

TestRunner Demo

Execute Tests created inside the Firefox
TestRunner.

addConsultant TestRunner Mode

searchConsultant in Execution Mode
-

TestRunner

Questions?