Top Banner
SELENIUM web testing TOOL Designed by :- Nilesh Jaiswar
42

Selenium

May 20, 2015

Download

Technology

nil65
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Selenium

SELENIUMweb testing

TOOL

Designed by :- Nilesh Jaiswar

Page 2: Selenium

What is Selenium? JavaScript framework that runs in

your web-browser 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

Page 3: Selenium

Selenium Features

Supports Cross Browser Testing. The Selenium

tests can be run on multiple browsers.

Allows scripting in several languages like

Java, C#, PHP and Python.

Assertion statements provide an efficient way

of comparing expected and actual results.

Inbuilt reporting mechanism.

Page 4: Selenium

Where to get it? You can use Selenium-Core and

customize everything 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 play back those recordings followed by asserts

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

Page 5: Selenium

Selenium Components

Selenium IDE

Selenium Remote Control

Selenium Grid

Page 6: Selenium

Selenium IDE

Selenium IDE is an integrated development

environment for Selenium tests.

It is implemented as a Firefox extension, and allows you

to record, edit, and replay the test in Firefox

Selenium IDE allows you to save tests as HTML, Java,

Ruby scripts, or any other format

It allows you to automatically add assertions to all the

pages.

Allows you to add selenese commands as and when

required

Page 7: Selenium

Selenium IDE Installation

Using Firefox, first, download the IDE from the

SeleniumHQ downloads page When downloading

from Firefox, you’ll be presented with the Window

A. (See Next Slide) Select Install Now. The Firefox Add-ons window

pops up, first showing a progress bar, and when the download is complete, displays the Window B. (See Next Slide)

Restart Firefox. After Firefox reboots you will find the Selenium-IDE listed under the Firefox Tools menu.

Page 8: Selenium

Selenium Installation

Window A Window B

To run the Selenium-IDE, simply select it from the Firefox Tools menu. It opens as follows with an empty script-editing window and a menu for loading, or creating new test cases. (See Next Slide)

Page 9: Selenium

Selenium IDEThe root of web application you want to test

The list of actions in the actual test case to execute

The log of the events that were executed, including any errors or warning that may have occurred

Page 10: Selenium

Selenium IDE cont..

Execution Commands

Try the test in the Web based TestRunner

Reference of the currently selected command

Record test actions

Specify commands, including asserts

Page 11: Selenium

Selenium Options

Selenium Options allow you to

Set The Text Encoding Format

Set the Default Page Time Out

Set The Base URL recording option

Adding Selenium Core and IDE Extension

Add Automatic Page Title Assertions

There are also other options under development

Page 12: Selenium

Test Creation Demo

Create test case to log into the

gallery

Create test case to log out of the

gallery

Page 13: Selenium

Start Pixory

Connect to the Server

Go to the Login Screen

Hit the Record Button

Page 14: Selenium

Type in Username and PasswordIDE should update

Hit submit

Hit record again to

stop

Page 15: Selenium

Add assertTextPresent and type the text to

search for

Hit play to make sure your test is successful

Page 16: Selenium

Creating a Test Suite

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

<html><head><meta content="text/html; charset=ISO-8859-1"http-equiv="content-type"><title>Demo Test Suite</title></head>

<body><table id="suiteTable">

<tbody> <tr><td>

<b>Demo Test Suite</b> </td></tr><tr><td><a href="./testLogin.html">TestLogin</a>

</td></tr><tr><td><a href="./testLogout.html">Test Logout</a>

</td></tr></tbody></table></body></html>

Page 17: Selenium

Executing the Test Suite Selenium Core is a collection of

JavaScript and HTML with iFrames Due to security concerns Core must be

deployed within the same server as the application being hosted

The simplest way to run Pixory is to just run the Java application and let it use its own server

Problems using Core with Pixory Selenium IDE is a plug-in for Firefox

and thus can go around these restrictions

Page 18: Selenium

Running the Test Suite We basically want to execute the

test suite using the Selenium IDE plug-in TestRunner.html

chrome://selenium-ide/content/selenium/TestRunner.html?baseURL=<BASE>&test=file:///<TEST SUITE FILE>&auto=true

chrome://selenium-ide/content/selenium/TestRunner.html?baseURL=http://localhost:8081&test=file:///Users/ms333/projects/classes/running/v_and_v/hw3/selenium/test/TestSuite.html&auto=true

Page 19: Selenium

Test Suite

Page 20: Selenium

Test Suite

Application being tested

Test Cases

Steps of the test case

Execution Control

Page 21: Selenium

Test Runner Control

Page 22: Selenium

Test Runner Control

Run All Tests

Run Selected Test

Pause/Play Execution

Step through Execution

Control Speed of ExecutionHighlight

Elements in the Execution

View the DOM of the current Page being tested

Summary of the Test

View the log of the current execution

Page 23: Selenium

TestRunner Demo Execute Tests created inside the

Firefox TestRunner

Page 24: Selenium

Recoding a Selenium Test Case

Open Firefox that has the IDE installed Open the base URL of the application to

record. Keep the application in a common base

state. Go To Tools Selenium IDE and the IDE

will be opened Now perform the operations on the

application as you are testing the application.

Once you are done with the recording click on the stop recording button and save the test case through the file menu. By default it will be saved as a selenese script (HTML format)

Page 25: Selenium

Running Your First Selenium Script

Make sure the application is in the common base state.

Click on the run button. Here you can also control the speed of the execution using the toolbar

Once the test is run you can view the test log in the bottom of the IDE window

Page 26: Selenium

Creating a Test Suite In the Selenium IDE

you can create any number of test cases and save them as test suite.

To Run the test Suite click on the “Play entire test suite” button as shown below.

Test Suite with Test1 & test2

Page 27: Selenium

Playing The test Suite with Test Runner

Test Runner allows you to run the test case in a browser loaded with the Selenium-Core TestRunner.

Test runner is invoked by clicking the below Shown button in the IDE

On Clicking the Test Runner Button you will the window as seen in the next slide

Page 28: Selenium

Test Runner

Softsmith Infotech

Click this button to run all the tests

Page 29: Selenium

Running Options Run a Test Case

Click the Run button to run the currently displayed test case.

Run a Test Suite Click the Run All button to run all the test cases in

the currently loaded test suite. Stop and Start

The Pause button can be used to stop the test case while it is running. The icon of this button then changes to indicate the Resume button. To continue click Resume.

Stop in the Middle You can set a breakpoint in the test case to cause it

to stop on a particular command. This is useful for debugging your test case. To set a breakpoint, select a command, right-click, and from the context menu select Toggle Breakpoint.

Page 30: Selenium

Running Options

Start from the Middle You can tell the IDE to begin running from

a specific command in the middle of the test case. This also is used for debugging. To set a start point, select a command, right-click, and from the context menu select Set/Clear Start Point.

Run Any Single Command Double-click any single command to run it

by itself. This is useful when writing a single command. It lets you immediately test a command you are constructing, when you are not sure if it is correct. You can double-click it to see if it runs correctly. This is also available from the context menu.

Page 31: Selenium

Adding Assertions to the Script

Selenese allows multiple ways of checking for UI elements.

Verifications and assertions are used to check if

an element is present somewhere on the page? specific text is somewhere on the page? specific text is at a specific location on the page?

Verifications and assertions are not one and the same.

If an assertion fails, the script will be aborted but if a verification fails the script will continue.

Page 32: Selenium

Verification CommandsverifyTextPresent

This command is used to check if a particular text is present in a page or not.

To add this command , While recording the test steps right click on the text item that you want verify. Once right clicked you can find an option “Show all commands”. On Clicking it you will find an option “verifyTextPresent”, select it

Page 33: Selenium

Verification Commands

verifyTitle This command is used

to check if the page title is correct or not.

To add this command , While recording the test steps right click any where on the page that you want verify. Once right clicked you can find an option “Show all commands”. On Clicking it you will find an option “verifyTitle”, select it

Page 34: Selenium

Verification Commands

verifyElementPresent This command is used to

verify if a page element is present in the page or not.

To add this command , While recording the test steps right click any element on the page that you want verify. Once right clicked you can find an option “Show all commands”. On Clicking it you will find an option “verifyElementPresent”, select it

Page 35: Selenium

Verification Commands

verifyValue This method is used to

check if edit box has particular value or if the check box is on. Basically this method returns the value of present in the object.

To add this command , While recording the test steps right click any element on the page that you want verify the value of. Once right clicked you can find an option “Show all commands”. On Clicking it you will find an option “verifyValue”, select it.

Page 36: Selenium

Assertions

Assertions are same as Verifications. The only difference is, if the assertions fail the script will abort. But the script will continue run in case a verification point fails.

The steps for inserting the assertions is same as that of verification point.

While recording Right Click Show all commands select an assertion.

Page 37: Selenium

Assertion Statements

assertTextPresentThis will assert if the text is present in the page.

assertTextThis will assert if a particular element is having the

particular text.

assertTitle This will assert if the page is having a proper title.

assertValueThis will assert if a Text box or check box has a particular

value

assertElementPresentThis will assert if a particular UI Element is present in

the page.

Page 38: Selenium

Selenium WaitFor Commands

waitForPageToLoadThis command will make the script to wait till the

page loads.Syntax is waitForPageToLoad(timeout); Time out

is the maximum time the script will wait for the page to load.

Page 39: Selenium

Other waitFor Commands waitForAlert

This command will wait for the alert message to appear

waitForTableThis command will wait for the Web table to completely load in the page

waitForTitleThis command will for the page Title to appear on the browser.

Other waitFor commandsSelenium has several other wait command like waitForText, waitForPopup and so on. These commands are generically called Synchronization commands

Page 40: Selenium

Store Commands

Store command are used to fetch the values from the application and store it in a variable. These variables can be used latter for validation purpose.

The Store command can be used to retrieve the page title, text from the page and other attributes from the application.

Page 41: Selenium

Echo Command

Echo command is used to print the value in to the selenium IDS log.

When printing a variable use ${var}

There are some limitations for this methods this has to be used with caution

Page 42: Selenium

Limitations of Selenium IDE

Can run the test only on Firefox No Programming login (like loops,

conditional statements) can be applied Selenium IDE can execute scripts created

in Selenese only. It is difficult to use Selenium IDE for

checking complex test cases involving dynamic contents