SlideShare ist ein Scribd-Unternehmen logo
1 von 83
Softsmith Infotech 1
Test Automation Using
Selenium
Softsmith Infotech 2
Test Automation
• Test automation is the use of software
To set test preconditions.
To control the execution of tests.
 To compare the actual outcomes to predicted
outcomes.
To report the Execution Status.
• Commonly, test automation involves
automating a manual process already in
place that uses a formalized testing
process.
Softsmith Infotech 3
Why and When To Automate?
• Frequent regression testing
• Repeated test case Execution is required
• User Acceptance Tests
• Faster Feedback to the developers
• Reduce the Human Effort
• Test same application on multiple
environments
Softsmith Infotech 4
Test Automation Tools
 Quick Test Professional By HP
 Rational Functional Tester By Rational (IBM Company)
 Silk Test By Borland
 Test Complete By Automated QA
 QA Run (Compuware )
 Watir ( Open Source)
 Selenium ( Open Source)
 Sahi (Open Source)
Softsmith Infotech 5
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.
• Selenium operations are highly flexible, allowing
many options for locating UI elements and
comparing expected test results against actual
application behavior.
Softsmith Infotech 6
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.
Softsmith Infotech 7
Selenium Components
• Selenium IDE
• Selenium Remote Control
• Selenium Grid
Softsmith Infotech 8
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
Softsmith Infotech 9
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.
Softsmith Infotech 10
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)
Softsmith Infotech 11
Selenium IDE - UI
Start and Stop
Recording
Selenese
Script
Editor
Selenium Log
Replay
Toolbar
Accessor
Area
Softsmith Infotech 12
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
Softsmith Infotech 13
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)
Softsmith Infotech 14
General Selenese Commands
clicking a link - click or clickAndWait
commands
entering values - type command
selecting options from a drop-down listbox
- select command
clicking checkboxes or radio buttons - click
command
Softsmith Infotech 15
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
Softsmith Infotech 16
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
Softsmith Infotech 17
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
Softsmith Infotech 18
Test Runner
Click this button to run all the tests
Softsmith Infotech 19
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.
Softsmith Infotech 20
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.
Softsmith Infotech 21
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.
Softsmith Infotech 22
Verification Commands
verifyTextPresent
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
Softsmith Infotech 23
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
Softsmith Infotech 24
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
Softsmith Infotech 25
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.
Softsmith Infotech 26
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.
Softsmith Infotech 27
Assertion Statements
 assertTextPresent
This will assert if the text is present in the page.
 assertText
This will assert if a particular element is having the particular text.
 assertTitle
This will assert if the page is having a proper title.
 assertValue
This will assert if a Text box or check box has a particular value
 assertElementPresent
This will assert if a particular UI Element is present in the page.
Softsmith Infotech 28
Selenium WaitFor Commands
waitForPageToLoad
This 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.
Softsmith Infotech 29
Other waitFor Commands
waitForAlert
This command will wait for the alert message to appear
waitForTable
This command will wait for the Web table to completely
load in the page
waitForTitle
This command will for the page Title to appear on the
browser.
Other waitFor commands
Selenium has several other wait command like
waitForText, waitForPopup and so on. These commands
are generically called Synchronization commands
Softsmith Infotech 30
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.
Softsmith Infotech 31
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
Softsmith Infotech 32
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
Softsmith Infotech 33
Selenium RC
A solution to cross browser testing.
A server, written in Java and so available
on all the platforms.
Acts as a proxy for web requests from
them.
Client libraries for many popular
languages.
Bundles Selenium Core and automatically
loads into the browser
Softsmith Infotech 34
Installing Selenium RC
Software Required
 JDK 1.6 , selenium-remote-control-1.0.3 (this can be
downloaded from http://seleniumhq.org/download/)
Installation Procedure
 Selenium RC is simply a jar file and to run it we need
java installed. (JDK 1.6 is preferred)
 Once the Java is installed just unzip the selenium-
remote-control-1.0.3. zip which was downloaded from
the selenium site to a directory.
Softsmith Infotech 35
Selenium Test Automation Process
• First Generate the Script using selenium IDE in the
firefox IDE
• Once the Scripts are recorded add assertions where
ever required
• Now format the Selenese test into the language of your
choice. Please refer to the Image
Softsmith Infotech 36
Selenium Test Automation Process
• Once the Selenese script is converted into your
preferred language you can you can run them
using Selenium Server.
• For running the script you also need the client
driver for that particular language.
• To enhance the script we will require IDE like
netbeans or Eclipse IDE
• To Integrate the script and run them as a suite
we will require build integration tools like Maven
or Ant.
Softsmith Infotech 37
How Selenium Works
Softsmith Infotech 38
Running a Selenese Test on
Different Browsers
 Following are the steps to create a selenese test suite
and run a test suite using selenium RC
1) Record a test case using selenium IDE and save it as
“Test1.html” (say).
2) Record another test case using selenium IDE and save its as
“Test3.html” (say).
3) In this way you can record any number of test case using
selenium IDE and save them as <filename>.html
4) Then Create a New Test Suite using the File Menu. See the
Image Below.
Softsmith Infotech 39
Selenese Suite cont..
Add the created test cases in to the suite as shown
in Image1
Once the test cases are added to the suite save
them as a test suite as in Image2
The Open the command prompt and navigate to
the directory where Selenium RC (server) is
placed.
In the command prompt Enter the command as
shown below.
Softsmith Infotech 40
Selenese Suite cont..
Command :
 java -jar selenium-server.jar
-multiwindow -htmlSuite
"*iexplore"
"https://localhost/bookstore/"
"D:testa.html" "C:results.html“
 Once the command is run the
results will be stored in the
results.html file as shown
below.
Softsmith Infotech 41
Selenium Test Case Development
Using Java
Required Software
Selenium RC Server jar , Selenium Java
Client Driver jar , JDK 1.6 +, Eclipse (or
any other IDE), Junit jar and testng jar
For building the frame work we require
continuous build integration tools like Ant,
Maven or cruise control.
Softsmith Infotech 42
Client Drivers
Enables communication with Selenium Remote Control
Server.
 Functionality of Selenium is exposed via these drivers.
 Available in Ruby, Python, Java, C-Sharp …and so on.
 Give access to the rich features and libraries of the
language, including their unit testing framework.
 Makes it possible to develop automated scripts in the
same language as product.
 Which one you should use?
Whatever make sense in your context. Most Popular is java and for
the training we will use java
Softsmith Infotech 43
Process of Developing Selenium
Java Scripts.
Following are the steps for generating the
test scripts in java
1) Record the Script in Selenium IDE and
format them into Java
2) Create a Selenium Java project in
Eclipse and load all the necessary jar
files
3) Copy the formatted Java code into the
Eclipse and run the test.
Softsmith Infotech 44
Formatting the recorded script into
Java
Steps of formatting the code into java
1) Open the Browser and open the
base URL of the application.
2) Open the Selenium IDE and start
recoding the test steps.
3) Once the recording is done go to
Menu  Options  Format 
Java(TestNG) –Selenium RC
4) You can see the java code in the
source tab of IDE. Save the test
case with .java extension.
Softsmith Infotech 45
Setting Up an Eclipse Project for
Selenium Automation
• Eclipse is an open source community whose projects are
focused on building an extensible development platform
for building Java applications and frameworks. Eclipse is
one of the best Java IDE and as a matter of face Eclipse
is much more than a Java IDE.
• We can configure a selenium project in eclipse and even
run the scripts from eclipse.
• Using eclipse its easy to enhance the recorded script.
We can add power to the recorded script by
parameterizing the test inputs and even validate the
back values.
• Eclipse also allows us to write reusable code for efficient
test automation.
Softsmith Infotech 46
Installing Eclipse
• Download the “Eclipse IDE for Java Developers” from
the http://www.eclipse.org/downloads/ page.
• Unzip the downloaded zip file from the above site into a
directory.
• Once the unzipping is over open the folder and double
click on the icon and it will open a dialog box as
shown below.
Softsmith Infotech 47
Setting up the workspace
• Create a folder say (selenium) in any one of the
directory and change the workspace location to
the directory created by you. Then click ok
button.
• On doing so you will see the eclipse welcome
screen if you are doing it for the first time. On the
welcome screen click on the workbench icon to
open the project explorer.
• When you to try to open the eclipse from next
time it will directly show the project explorer as
shown in the next slide.
Softsmith Infotech 48
Eclipse IDE
Package
Explorer
Scrip View
console
Softsmith Infotech 49
Create a Project In eclipse
• File  New 
Java Project
• Specify the project name
and click finish
Softsmith Infotech 50
Adding the required Jars
• Open the folder contain the selenium project that you
have just created. Inside that folder create another folder
with name “lib”
• Inside the lib folder place the following jar files.
junit-4.8.1.jar
selenium-java-client-driver.jar
selenium-server.jar
testng-5.12.jars
 After placing the jar file in lib come back to the eclipse
and click on the project explorer strip and press F5. You
should see the all the jar files under the lib folder in the
project explorer as shown in the Image in next slide.
Softsmith Infotech 51
Selenium Libraries
Softsmith Infotech 52
Creating a package and adding a
class file
• In the eclipse  Package
Explorer  right click on
the src (source) folder. In
that select New 
Package and give a name
to the package. See the
Picture1
• Now right click on the
created package and click
on new  class and
provide a class name.
You will see a java script
template as seen in the
next slide
Softsmith Infotech 53
Eclipse IDE with Java Script
Template
• Your IDE should look like this
This is where you have copy the
Java code that you formatted in the
Selenium IDE
Softsmith Infotech 54
Adding the Jar files to the class
path
• Right Click on the
Project
• Select Build Path
 Configure Build
path
• On the next window
click on the libraries
tab and click on the
add jars tab
Softsmith Infotech 55
Adding the Jar files to the class
path
• As you click on the add
jars button a window
showing all the jar files
will be opened. Select
all the jar files and click
on ok button
• By doing this step we
are almost ready to
write the script and run
it.
Softsmith Infotech 56
Creating the test script inside the
class file
• Copy the code that was formatted in the
selenium IDE and paste it in the Eclipse
IDE script template.
• Make sure the class name that you
created and the class name in the script
are same
• Make sure that you have add the methods
setUp and tearDown
Softsmith Infotech 57
Running the test through Eclipse
• Start the Selenium Server
• For this open the command prompt and go to the folder
where the selenium server is present.
• Run the command “java -jar selenium-server.jar”
• The Selenium server will start running and you can see
the message in the command prompt.
Softsmith Infotech 58
Running the test through Eclipse
• Once the server is up go to the eclipse and right click on
the script.
• In that select Run As  JUnit Test. See the image
below. After this you will get will see that the script has
run successfully in the window that’s shown in the next
slide.
Softsmith Infotech 59
Selenium Results Strip in the
Eclipse IDE
success
failure
Softsmith Infotech 60
Components of the Selenium test
Script
setUp method
This method prepares the selenium server to run the
test. This method basically hooks to the selenium server
and opens up the base URL of the application
test*** method
The methods with the name test will actually run the
tests on the application. There can be any number of test
methods in the app
tearDown method
This method will run after the end of the test. This test
will disconnect with the server and makes room for the
next tests to run the tests.
Softsmith Infotech 61
Script View
Softsmith Infotech 62
Enhancing the Selenium
commands
The generated selenium command can be
enhanced by writing java commands.
Using java methods we can do
parameterization and data base validation.
More over java methods can be used for
to perform some complex validations and
testing activities.
The best way to use java methods is used
to is have a Java IDE like eclipse.
Softsmith Infotech 63
Some Java Basics
Java Data Types
Int, float, String, char, Boolean and double
Declarations
String s = “Selenium”;
Int i = 20;
float cur = 3.35;
Operators
* ,/ ,% ,+, - are the
mathematical operators
* ,/, %, have a higher
precedence than + or -
Softsmith Infotech 64
Relational Operators
== Equal (careful)
!= Not equal
>= Greater than or equal
<= Less than or equal
> Greater than
< Less than
Softsmith Infotech 65
Programming Elements
If Condition
if (name != “selenium”)
{
System.out.print(“Tool Changed”);
}
Else
{
System.out.print(“Tool is ok”);
}
Loop n times
for ( i = 0; i < n; n++ )
{
// this code body will execute n times
// I from 0 to n-1
}
Softsmith Infotech 66
Use string functions
Softsmith Infotech 67
Date Functions
Required Packages
import java.util.Date;
import java.text.SimpleDateFormat;
Sample Code
Softsmith Infotech 68
Example 1 – Get the values from the list box and
check if the value “HTML” is present in it
Implementation Steps
1) First get the values from the list box
2) To get the values from the list box or any
other HTML element we need to know its
Xpath. (use Xpath checker)
3) The values taken from the list box are
stored in a variable.
4) Use the indexOf method to find if “HTML”
is present in the extracted variable.
Softsmith Infotech 69
Screen Shot of the Example Script
Xpath Locator
Softsmith Infotech 70
Parameterization
• Parameterization is to same run the script with
multiple set of data.
• The data will be stored in a CSV file.
• We will have write a program to read the values
from the excel line by line and replace the
values.
• For reading the values from a CSV file we will
require the following packages
import java.io.File;
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.StringTokenizer;
Softsmith Infotech 71
Parameterization Example
Softsmith Infotech 72
Ant Integration
 Ant is a free tool from the Apache Jakarta Group
 Originally written by James Duncan Davidson
 on an airplane from Europe to the US...
 Like ‘make’ for Java – only better
 Uses an XML file to drive its action
 Extremely powerful and modular
 Easily extensible
 Written in Java so it is cross platform
Softsmith Infotech 73
To Integrate with ANT
 Download ANT and copy it into any of the
directory
 Create a JAVA_HOME environment Variable
 Create a ANT_HOME environment variables
 Add the ANT bin path to windows path
environment variable
 Create a build file to load all the jar files and
create targets to run the selenium tests using
the build file
Softsmith Infotech 74
Defining a folder Structure for
Selenium ANT task
Softsmith Infotech 75
Running the ANT selenium task
• Start the selenium server through the command
prompt
• Then go the folder where the selenium tests are
stored
• Make sure that the build.xml file is present in
that location
• Now run the command “ant” from the command
prompt
• You can see the test running and the results will
be saved in the results.txt file.
Softsmith Infotech 76
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.
Softsmith Infotech 77
How to Grid
• Download Selenium Grid latest binary
distribution and unpack it on your computer.
• Go at the root of selenium grid directory and
validate your installation:
 cd selenium-grid-1.0
 ant sanity-check
 Go to the selenium distribution directory and
launch in a new terminal:
 ant launch-hub
 Check out that the Hub is running by looking at
its console in a browser:
http://localhost:4444/console (See the Browser in the next
slide)
Softsmith Infotech 78
Softsmith Infotech 79
How to Run
In a new terminal enter the following
command
• ant launch-remote-control
Based on your target file you can run
either in sequence or in parallel
Softsmith Infotech
What's good?
• Relatively easy to automate web UI tests
• Record/Replay for regression tests
• RC allows integration with CI and
JUnit/FitNesse tests
Softsmith Infotech
What's bad?
• Speed: RC->Browser communication is a
speed bottleneck (run in grid, overnight)
• UI is brittle, tests depending on the UI
break a lot (DSTL might fix this, page
abstractions as well)
• Data-backed tests are not easily
repeatable (integrate with DB test engines)
Softsmith Infotech
Best practices
• Use Selenium to verify workflow and
session
• Don't put Selenium tests in your main
development build – run them overnight
• Have dedicated machines that run tests
• DON'T THINK OF THIS AS A
REPLACEMENT FOR EXPLORATORY
TESTING!!!
Softsmith Infotech
Links
• http://gojko.net
• http://www.openqa.org
• http://www.solutionsiq.com/agile2008/agile-2008-domain.php
• http://storytestiq.solutionsiq.com
• http://www.cubictest.com
• http://fitnesse.info/webtest

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Selenium Presentation at Engineering Colleges
Selenium Presentation at Engineering CollegesSelenium Presentation at Engineering Colleges
Selenium Presentation at Engineering Colleges
 
Automated Web Testing Using Selenium
Automated Web Testing Using SeleniumAutomated Web Testing Using Selenium
Automated Web Testing Using Selenium
 
Selenium WebDriver
Selenium WebDriverSelenium WebDriver
Selenium WebDriver
 
Web application testing with Selenium
Web application testing with SeleniumWeb application testing with Selenium
Web application testing with Selenium
 
Test Automation Using Selenium
Test Automation Using SeleniumTest Automation Using Selenium
Test Automation Using Selenium
 
Selenium with java
Selenium with javaSelenium with java
Selenium with java
 
Selenium ppt
Selenium pptSelenium ppt
Selenium ppt
 
Selenium
SeleniumSelenium
Selenium
 
SELENIUM PPT.pdf
SELENIUM PPT.pdfSELENIUM PPT.pdf
SELENIUM PPT.pdf
 
Selenium introduction
Selenium introductionSelenium introduction
Selenium introduction
 
Selenium
SeleniumSelenium
Selenium
 
Automation - web testing with selenium
Automation - web testing with seleniumAutomation - web testing with selenium
Automation - web testing with selenium
 
Introduction to Selenium Web Driver
Introduction to Selenium Web DriverIntroduction to Selenium Web Driver
Introduction to Selenium Web Driver
 
QSpiders - Automation using Selenium
QSpiders - Automation using SeleniumQSpiders - Automation using Selenium
QSpiders - Automation using Selenium
 
Selenium web driver
Selenium web driverSelenium web driver
Selenium web driver
 
Webinar: Selenium WebDriver - Automation Uncomplicated
Webinar: Selenium WebDriver - Automation UncomplicatedWebinar: Selenium WebDriver - Automation Uncomplicated
Webinar: Selenium WebDriver - Automation Uncomplicated
 
Automated testing using Selenium & NUnit
Automated testing using Selenium & NUnitAutomated testing using Selenium & NUnit
Automated testing using Selenium & NUnit
 
Selenium WebDriver with C#
Selenium WebDriver with C#Selenium WebDriver with C#
Selenium WebDriver with C#
 
Selenium introduction
Selenium introductionSelenium introduction
Selenium introduction
 
Selenium ppt
Selenium pptSelenium ppt
Selenium ppt
 

Andere mochten auch

Automation Testing using Selenium
Automation Testing using SeleniumAutomation Testing using Selenium
Automation Testing using SeleniumNaresh Chintalcheru
 
Selenium Test Automation
Selenium Test AutomationSelenium Test Automation
Selenium Test AutomationBabuDevanandam
 
Test automation using selenium presented by Quontra Solutions
Test automation using selenium presented by Quontra SolutionsTest automation using selenium presented by Quontra Solutions
Test automation using selenium presented by Quontra SolutionsQUONTRASOLUTIONS
 
Integrating Selenium testing infrastructure into Scala Project
Integrating Selenium testing infrastructure into Scala ProjectIntegrating Selenium testing infrastructure into Scala Project
Integrating Selenium testing infrastructure into Scala ProjectKnoldus Inc.
 
Selenium Basics Tutorial
Selenium Basics TutorialSelenium Basics Tutorial
Selenium Basics TutorialClever Moe
 

Andere mochten auch (8)

Automation Testing using Selenium
Automation Testing using SeleniumAutomation Testing using Selenium
Automation Testing using Selenium
 
Selenium Test Automation
Selenium Test AutomationSelenium Test Automation
Selenium Test Automation
 
Test automation using selenium presented by Quontra Solutions
Test automation using selenium presented by Quontra SolutionsTest automation using selenium presented by Quontra Solutions
Test automation using selenium presented by Quontra Solutions
 
Integrating Selenium testing infrastructure into Scala Project
Integrating Selenium testing infrastructure into Scala ProjectIntegrating Selenium testing infrastructure into Scala Project
Integrating Selenium testing infrastructure into Scala Project
 
Selenium presentation
Selenium presentationSelenium presentation
Selenium presentation
 
Selenium
SeleniumSelenium
Selenium
 
Selenium Basics Tutorial
Selenium Basics TutorialSelenium Basics Tutorial
Selenium Basics Tutorial
 
Selenium ppt
Selenium pptSelenium ppt
Selenium ppt
 

Ähnlich wie Test automation using selenium

Selenium ide material (1)
Selenium ide material (1)Selenium ide material (1)
Selenium ide material (1)Sriram Angajala
 
Test automation using selenium
Test automation using seleniumTest automation using selenium
Test automation using seleniummindqqa
 
Selenium
SeleniumSelenium
Seleniumnil65
 
Selenium ide material (2)
Selenium ide material (2)Selenium ide material (2)
Selenium ide material (2)Sriram Angajala
 
Selenium introduction and some feautures
Selenium introduction and some feauturesSelenium introduction and some feautures
Selenium introduction and some feautureszahid32
 
Softwaretestingtoolsfreeandopensourcefinal 150411221750-conversion-gate01
Softwaretestingtoolsfreeandopensourcefinal 150411221750-conversion-gate01Softwaretestingtoolsfreeandopensourcefinal 150411221750-conversion-gate01
Softwaretestingtoolsfreeandopensourcefinal 150411221750-conversion-gate01Aravindharamanan S
 
Software testing tools (free and open source)
Software testing tools (free and open source)Software testing tools (free and open source)
Software testing tools (free and open source)Wael Mansour
 
Introduction to Selenium
Introduction to SeleniumIntroduction to Selenium
Introduction to SeleniumKnoldus Inc.
 
Selenium training
Selenium trainingSelenium training
Selenium trainingRobin0590
 
Selenium ide1
Selenium ide1Selenium ide1
Selenium ide1mindqqa
 
Learn SELENIUM at ASIT
Learn SELENIUM at ASITLearn SELENIUM at ASIT
Learn SELENIUM at ASITASIT
 
Selenium by using JAVA
Selenium by using JAVASelenium by using JAVA
Selenium by using JAVAmahirayavarapu
 
Selenium Installation
Selenium  InstallationSelenium  Installation
Selenium InstallationANKUR-BA
 
Selenium - Installation
Selenium - InstallationSelenium - Installation
Selenium - InstallationRajesh-QA
 
Selenium Installation
Selenium InstallationSelenium Installation
Selenium InstallationSachin-QA
 
Selenium Tutorial
Selenium TutorialSelenium Tutorial
Selenium Tutorialprad_123
 

Ähnlich wie Test automation using selenium (20)

Selenium ide material (1)
Selenium ide material (1)Selenium ide material (1)
Selenium ide material (1)
 
Test automation using selenium
Test automation using seleniumTest automation using selenium
Test automation using selenium
 
Selenium
SeleniumSelenium
Selenium
 
Selenium ide material (2)
Selenium ide material (2)Selenium ide material (2)
Selenium ide material (2)
 
Selenium tutorial
Selenium tutorialSelenium tutorial
Selenium tutorial
 
Selenium introduction and some feautures
Selenium introduction and some feauturesSelenium introduction and some feautures
Selenium introduction and some feautures
 
Softwaretestingtoolsfreeandopensourcefinal 150411221750-conversion-gate01
Softwaretestingtoolsfreeandopensourcefinal 150411221750-conversion-gate01Softwaretestingtoolsfreeandopensourcefinal 150411221750-conversion-gate01
Softwaretestingtoolsfreeandopensourcefinal 150411221750-conversion-gate01
 
Software testing tools (free and open source)
Software testing tools (free and open source)Software testing tools (free and open source)
Software testing tools (free and open source)
 
Selenium ide made easy
Selenium ide made easySelenium ide made easy
Selenium ide made easy
 
Introduction to Selenium
Introduction to SeleniumIntroduction to Selenium
Introduction to Selenium
 
Selenium training
Selenium trainingSelenium training
Selenium training
 
Selenium ide1
Selenium ide1Selenium ide1
Selenium ide1
 
What is selenium
What is seleniumWhat is selenium
What is selenium
 
Learn SELENIUM at ASIT
Learn SELENIUM at ASITLearn SELENIUM at ASIT
Learn SELENIUM at ASIT
 
Selenium by using JAVA
Selenium by using JAVASelenium by using JAVA
Selenium by using JAVA
 
Selenium Installation
Selenium  InstallationSelenium  Installation
Selenium Installation
 
Selenium - Installation
Selenium - InstallationSelenium - Installation
Selenium - Installation
 
Selenium Installation
Selenium InstallationSelenium Installation
Selenium Installation
 
Selenium Testing
Selenium Testing Selenium Testing
Selenium Testing
 
Selenium Tutorial
Selenium TutorialSelenium Tutorial
Selenium Tutorial
 

Kürzlich hochgeladen

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxEsquimalt MFRC
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxmarlenawright1
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxDr. Sarita Anand
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structuredhanjurrannsibayan2
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxVishalSingh1417
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxAmanpreet Kaur
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxRamakrishna Reddy Bijjam
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and ModificationsMJDuyan
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the ClassroomPooky Knightsmith
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxJisc
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptxMaritesTamaniVerdade
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxCeline George
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...Nguyen Thanh Tu Collection
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseAnaAcapella
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - Englishneillewis46
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024Elizabeth Walsh
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17Celine George
 

Kürzlich hochgeladen (20)

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 

Test automation using selenium

  • 1. Softsmith Infotech 1 Test Automation Using Selenium
  • 2. Softsmith Infotech 2 Test Automation • Test automation is the use of software To set test preconditions. To control the execution of tests.  To compare the actual outcomes to predicted outcomes. To report the Execution Status. • Commonly, test automation involves automating a manual process already in place that uses a formalized testing process.
  • 3. Softsmith Infotech 3 Why and When To Automate? • Frequent regression testing • Repeated test case Execution is required • User Acceptance Tests • Faster Feedback to the developers • Reduce the Human Effort • Test same application on multiple environments
  • 4. Softsmith Infotech 4 Test Automation Tools  Quick Test Professional By HP  Rational Functional Tester By Rational (IBM Company)  Silk Test By Borland  Test Complete By Automated QA  QA Run (Compuware )  Watir ( Open Source)  Selenium ( Open Source)  Sahi (Open Source)
  • 5. Softsmith Infotech 5 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. • Selenium operations are highly flexible, allowing many options for locating UI elements and comparing expected test results against actual application behavior.
  • 6. Softsmith Infotech 6 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.
  • 7. Softsmith Infotech 7 Selenium Components • Selenium IDE • Selenium Remote Control • Selenium Grid
  • 8. Softsmith Infotech 8 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
  • 9. Softsmith Infotech 9 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.
  • 10. Softsmith Infotech 10 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)
  • 11. Softsmith Infotech 11 Selenium IDE - UI Start and Stop Recording Selenese Script Editor Selenium Log Replay Toolbar Accessor Area
  • 12. Softsmith Infotech 12 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
  • 13. Softsmith Infotech 13 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)
  • 14. Softsmith Infotech 14 General Selenese Commands clicking a link - click or clickAndWait commands entering values - type command selecting options from a drop-down listbox - select command clicking checkboxes or radio buttons - click command
  • 15. Softsmith Infotech 15 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
  • 16. Softsmith Infotech 16 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
  • 17. Softsmith Infotech 17 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
  • 18. Softsmith Infotech 18 Test Runner Click this button to run all the tests
  • 19. Softsmith Infotech 19 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.
  • 20. Softsmith Infotech 20 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.
  • 21. Softsmith Infotech 21 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.
  • 22. Softsmith Infotech 22 Verification Commands verifyTextPresent 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
  • 23. Softsmith Infotech 23 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
  • 24. Softsmith Infotech 24 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
  • 25. Softsmith Infotech 25 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.
  • 26. Softsmith Infotech 26 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.
  • 27. Softsmith Infotech 27 Assertion Statements  assertTextPresent This will assert if the text is present in the page.  assertText This will assert if a particular element is having the particular text.  assertTitle This will assert if the page is having a proper title.  assertValue This will assert if a Text box or check box has a particular value  assertElementPresent This will assert if a particular UI Element is present in the page.
  • 28. Softsmith Infotech 28 Selenium WaitFor Commands waitForPageToLoad This 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.
  • 29. Softsmith Infotech 29 Other waitFor Commands waitForAlert This command will wait for the alert message to appear waitForTable This command will wait for the Web table to completely load in the page waitForTitle This command will for the page Title to appear on the browser. Other waitFor commands Selenium has several other wait command like waitForText, waitForPopup and so on. These commands are generically called Synchronization commands
  • 30. Softsmith Infotech 30 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.
  • 31. Softsmith Infotech 31 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
  • 32. Softsmith Infotech 32 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
  • 33. Softsmith Infotech 33 Selenium RC A solution to cross browser testing. A server, written in Java and so available on all the platforms. Acts as a proxy for web requests from them. Client libraries for many popular languages. Bundles Selenium Core and automatically loads into the browser
  • 34. Softsmith Infotech 34 Installing Selenium RC Software Required  JDK 1.6 , selenium-remote-control-1.0.3 (this can be downloaded from http://seleniumhq.org/download/) Installation Procedure  Selenium RC is simply a jar file and to run it we need java installed. (JDK 1.6 is preferred)  Once the Java is installed just unzip the selenium- remote-control-1.0.3. zip which was downloaded from the selenium site to a directory.
  • 35. Softsmith Infotech 35 Selenium Test Automation Process • First Generate the Script using selenium IDE in the firefox IDE • Once the Scripts are recorded add assertions where ever required • Now format the Selenese test into the language of your choice. Please refer to the Image
  • 36. Softsmith Infotech 36 Selenium Test Automation Process • Once the Selenese script is converted into your preferred language you can you can run them using Selenium Server. • For running the script you also need the client driver for that particular language. • To enhance the script we will require IDE like netbeans or Eclipse IDE • To Integrate the script and run them as a suite we will require build integration tools like Maven or Ant.
  • 37. Softsmith Infotech 37 How Selenium Works
  • 38. Softsmith Infotech 38 Running a Selenese Test on Different Browsers  Following are the steps to create a selenese test suite and run a test suite using selenium RC 1) Record a test case using selenium IDE and save it as “Test1.html” (say). 2) Record another test case using selenium IDE and save its as “Test3.html” (say). 3) In this way you can record any number of test case using selenium IDE and save them as <filename>.html 4) Then Create a New Test Suite using the File Menu. See the Image Below.
  • 39. Softsmith Infotech 39 Selenese Suite cont.. Add the created test cases in to the suite as shown in Image1 Once the test cases are added to the suite save them as a test suite as in Image2 The Open the command prompt and navigate to the directory where Selenium RC (server) is placed. In the command prompt Enter the command as shown below.
  • 40. Softsmith Infotech 40 Selenese Suite cont.. Command :  java -jar selenium-server.jar -multiwindow -htmlSuite "*iexplore" "https://localhost/bookstore/" "D:testa.html" "C:results.html“  Once the command is run the results will be stored in the results.html file as shown below.
  • 41. Softsmith Infotech 41 Selenium Test Case Development Using Java Required Software Selenium RC Server jar , Selenium Java Client Driver jar , JDK 1.6 +, Eclipse (or any other IDE), Junit jar and testng jar For building the frame work we require continuous build integration tools like Ant, Maven or cruise control.
  • 42. Softsmith Infotech 42 Client Drivers Enables communication with Selenium Remote Control Server.  Functionality of Selenium is exposed via these drivers.  Available in Ruby, Python, Java, C-Sharp …and so on.  Give access to the rich features and libraries of the language, including their unit testing framework.  Makes it possible to develop automated scripts in the same language as product.  Which one you should use? Whatever make sense in your context. Most Popular is java and for the training we will use java
  • 43. Softsmith Infotech 43 Process of Developing Selenium Java Scripts. Following are the steps for generating the test scripts in java 1) Record the Script in Selenium IDE and format them into Java 2) Create a Selenium Java project in Eclipse and load all the necessary jar files 3) Copy the formatted Java code into the Eclipse and run the test.
  • 44. Softsmith Infotech 44 Formatting the recorded script into Java Steps of formatting the code into java 1) Open the Browser and open the base URL of the application. 2) Open the Selenium IDE and start recoding the test steps. 3) Once the recording is done go to Menu  Options  Format  Java(TestNG) –Selenium RC 4) You can see the java code in the source tab of IDE. Save the test case with .java extension.
  • 45. Softsmith Infotech 45 Setting Up an Eclipse Project for Selenium Automation • Eclipse is an open source community whose projects are focused on building an extensible development platform for building Java applications and frameworks. Eclipse is one of the best Java IDE and as a matter of face Eclipse is much more than a Java IDE. • We can configure a selenium project in eclipse and even run the scripts from eclipse. • Using eclipse its easy to enhance the recorded script. We can add power to the recorded script by parameterizing the test inputs and even validate the back values. • Eclipse also allows us to write reusable code for efficient test automation.
  • 46. Softsmith Infotech 46 Installing Eclipse • Download the “Eclipse IDE for Java Developers” from the http://www.eclipse.org/downloads/ page. • Unzip the downloaded zip file from the above site into a directory. • Once the unzipping is over open the folder and double click on the icon and it will open a dialog box as shown below.
  • 47. Softsmith Infotech 47 Setting up the workspace • Create a folder say (selenium) in any one of the directory and change the workspace location to the directory created by you. Then click ok button. • On doing so you will see the eclipse welcome screen if you are doing it for the first time. On the welcome screen click on the workbench icon to open the project explorer. • When you to try to open the eclipse from next time it will directly show the project explorer as shown in the next slide.
  • 48. Softsmith Infotech 48 Eclipse IDE Package Explorer Scrip View console
  • 49. Softsmith Infotech 49 Create a Project In eclipse • File  New  Java Project • Specify the project name and click finish
  • 50. Softsmith Infotech 50 Adding the required Jars • Open the folder contain the selenium project that you have just created. Inside that folder create another folder with name “lib” • Inside the lib folder place the following jar files. junit-4.8.1.jar selenium-java-client-driver.jar selenium-server.jar testng-5.12.jars  After placing the jar file in lib come back to the eclipse and click on the project explorer strip and press F5. You should see the all the jar files under the lib folder in the project explorer as shown in the Image in next slide.
  • 52. Softsmith Infotech 52 Creating a package and adding a class file • In the eclipse  Package Explorer  right click on the src (source) folder. In that select New  Package and give a name to the package. See the Picture1 • Now right click on the created package and click on new  class and provide a class name. You will see a java script template as seen in the next slide
  • 53. Softsmith Infotech 53 Eclipse IDE with Java Script Template • Your IDE should look like this This is where you have copy the Java code that you formatted in the Selenium IDE
  • 54. Softsmith Infotech 54 Adding the Jar files to the class path • Right Click on the Project • Select Build Path  Configure Build path • On the next window click on the libraries tab and click on the add jars tab
  • 55. Softsmith Infotech 55 Adding the Jar files to the class path • As you click on the add jars button a window showing all the jar files will be opened. Select all the jar files and click on ok button • By doing this step we are almost ready to write the script and run it.
  • 56. Softsmith Infotech 56 Creating the test script inside the class file • Copy the code that was formatted in the selenium IDE and paste it in the Eclipse IDE script template. • Make sure the class name that you created and the class name in the script are same • Make sure that you have add the methods setUp and tearDown
  • 57. Softsmith Infotech 57 Running the test through Eclipse • Start the Selenium Server • For this open the command prompt and go to the folder where the selenium server is present. • Run the command “java -jar selenium-server.jar” • The Selenium server will start running and you can see the message in the command prompt.
  • 58. Softsmith Infotech 58 Running the test through Eclipse • Once the server is up go to the eclipse and right click on the script. • In that select Run As  JUnit Test. See the image below. After this you will get will see that the script has run successfully in the window that’s shown in the next slide.
  • 59. Softsmith Infotech 59 Selenium Results Strip in the Eclipse IDE success failure
  • 60. Softsmith Infotech 60 Components of the Selenium test Script setUp method This method prepares the selenium server to run the test. This method basically hooks to the selenium server and opens up the base URL of the application test*** method The methods with the name test will actually run the tests on the application. There can be any number of test methods in the app tearDown method This method will run after the end of the test. This test will disconnect with the server and makes room for the next tests to run the tests.
  • 62. Softsmith Infotech 62 Enhancing the Selenium commands The generated selenium command can be enhanced by writing java commands. Using java methods we can do parameterization and data base validation. More over java methods can be used for to perform some complex validations and testing activities. The best way to use java methods is used to is have a Java IDE like eclipse.
  • 63. Softsmith Infotech 63 Some Java Basics Java Data Types Int, float, String, char, Boolean and double Declarations String s = “Selenium”; Int i = 20; float cur = 3.35; Operators * ,/ ,% ,+, - are the mathematical operators * ,/, %, have a higher precedence than + or -
  • 64. Softsmith Infotech 64 Relational Operators == Equal (careful) != Not equal >= Greater than or equal <= Less than or equal > Greater than < Less than
  • 65. Softsmith Infotech 65 Programming Elements If Condition if (name != “selenium”) { System.out.print(“Tool Changed”); } Else { System.out.print(“Tool is ok”); } Loop n times for ( i = 0; i < n; n++ ) { // this code body will execute n times // I from 0 to n-1 }
  • 66. Softsmith Infotech 66 Use string functions
  • 67. Softsmith Infotech 67 Date Functions Required Packages import java.util.Date; import java.text.SimpleDateFormat; Sample Code
  • 68. Softsmith Infotech 68 Example 1 – Get the values from the list box and check if the value “HTML” is present in it Implementation Steps 1) First get the values from the list box 2) To get the values from the list box or any other HTML element we need to know its Xpath. (use Xpath checker) 3) The values taken from the list box are stored in a variable. 4) Use the indexOf method to find if “HTML” is present in the extracted variable.
  • 69. Softsmith Infotech 69 Screen Shot of the Example Script Xpath Locator
  • 70. Softsmith Infotech 70 Parameterization • Parameterization is to same run the script with multiple set of data. • The data will be stored in a CSV file. • We will have write a program to read the values from the excel line by line and replace the values. • For reading the values from a CSV file we will require the following packages import java.io.File; import java.io.BufferedReader; import java.io.FileReader; import java.util.StringTokenizer;
  • 72. Softsmith Infotech 72 Ant Integration  Ant is a free tool from the Apache Jakarta Group  Originally written by James Duncan Davidson  on an airplane from Europe to the US...  Like ‘make’ for Java – only better  Uses an XML file to drive its action  Extremely powerful and modular  Easily extensible  Written in Java so it is cross platform
  • 73. Softsmith Infotech 73 To Integrate with ANT  Download ANT and copy it into any of the directory  Create a JAVA_HOME environment Variable  Create a ANT_HOME environment variables  Add the ANT bin path to windows path environment variable  Create a build file to load all the jar files and create targets to run the selenium tests using the build file
  • 74. Softsmith Infotech 74 Defining a folder Structure for Selenium ANT task
  • 75. Softsmith Infotech 75 Running the ANT selenium task • Start the selenium server through the command prompt • Then go the folder where the selenium tests are stored • Make sure that the build.xml file is present in that location • Now run the command “ant” from the command prompt • You can see the test running and the results will be saved in the results.txt file.
  • 76. Softsmith Infotech 76 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.
  • 77. Softsmith Infotech 77 How to Grid • Download Selenium Grid latest binary distribution and unpack it on your computer. • Go at the root of selenium grid directory and validate your installation:  cd selenium-grid-1.0  ant sanity-check  Go to the selenium distribution directory and launch in a new terminal:  ant launch-hub  Check out that the Hub is running by looking at its console in a browser: http://localhost:4444/console (See the Browser in the next slide)
  • 79. Softsmith Infotech 79 How to Run In a new terminal enter the following command • ant launch-remote-control Based on your target file you can run either in sequence or in parallel
  • 80. Softsmith Infotech What's good? • Relatively easy to automate web UI tests • Record/Replay for regression tests • RC allows integration with CI and JUnit/FitNesse tests
  • 81. Softsmith Infotech What's bad? • Speed: RC->Browser communication is a speed bottleneck (run in grid, overnight) • UI is brittle, tests depending on the UI break a lot (DSTL might fix this, page abstractions as well) • Data-backed tests are not easily repeatable (integrate with DB test engines)
  • 82. Softsmith Infotech Best practices • Use Selenium to verify workflow and session • Don't put Selenium tests in your main development build – run them overnight • Have dedicated machines that run tests • DON'T THINK OF THIS AS A REPLACEMENT FOR EXPLORATORY TESTING!!!
  • 83. Softsmith Infotech Links • http://gojko.net • http://www.openqa.org • http://www.solutionsiq.com/agile2008/agile-2008-domain.php • http://storytestiq.solutionsiq.com • http://www.cubictest.com • http://fitnesse.info/webtest

Hinweis der Redaktion

  1. &amp;lt;number&amp;gt;
  2. &amp;lt;number&amp;gt;
  3. &amp;lt;number&amp;gt;
  4. &amp;lt;number&amp;gt;