SlideShare ist ein Scribd-Unternehmen logo
1 von 81
www.mindqonline.com 1
 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.
www.mindqonline.com 2
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)
www.mindqonline.com 3
 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.
www.mindqonline.com 4
 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.
www.mindqonline.com 5
 Selenium IDE
 Selenium Remote Control
 Selenium Grid
www.mindqonline.com
6
 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
www.mindqonline.com 7
 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.
www.mindqonline.com 8
www.mindqonline.com 9
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)
www.mindqonline.com 10
Start and Stop
Recording
Selenese
Script
Editor
Selenium Log
Replay
Toolbar
Accessor
Area
www.mindqonline.com 11
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
 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)
www.mindqonline.com 12
 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
www.mindqonline.com 13
 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
www.mindqonline.com 14
 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.
www.mindqonline.com 15
Test Suite with
Test1 & test2
 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
www.mindqonline.com 16
On Clicking the Test Runner Button you will the
window as seen in the next slide
www.mindqonline.com 17
Click this button to run all the tests
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.
www.mindqonline.com 18
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.
www.mindqonline.com 19
 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.
www.mindqonline.com 20
www.mindqonline.com 21
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
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
www.mindqonline.com 22
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
www.mindqonline.com 23
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.
www.mindqonline.com 24
 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.
www.mindqonline.com 25
 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.
www.mindqonline.com 26
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.
www.mindqonline.com 27
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
www.mindqonline.com 28
 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.
www.mindqonline.com 29
 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
www.mindqonline.com 30
 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
www.mindqonline.com 31
 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
www.mindqonline.com 32
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.
www.mindqonline.com 33
 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
www.mindqonline.com 34
 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.
www.mindqonline.com 35
www.mindqonline.com 36
 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.
www.mindqonline.com 37
www.mindqonline.com
38
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.
Command :
 java -jar selenium-server.jar
-multiwindow -htmlSuite
"*iexplore"
"https://localhost/store/"
"D:testa.html"
"C:results.html“
 Once the command is run
the results will be stored in
the results.html file as
shown below.
www.mindqonline.com 39
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.
www.mindqonline.com 40
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
www.mindqonline.com 41
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.
www.mindqonline.com 42
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.
www.mindqonline.com 43
 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.
www.mindqonline.com 44
 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.
www.mindqonline.com 45
 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.
www.mindqonline.com 46
www.mindqonline.com 47
Package
Explorer
Scrip View
console
 File  New  Java
Project
www.mindqonline.com 48
• Specify the project
name and click finish
 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.
www.mindqonline.com 49
www.mindqonline.com 50
 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
www.mindqonline.com 51
 Your IDE should look like this
www.mindqonline.com 52
This is where you have copy the
Java code that you formatted in the
Selenium IDE
 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
www.mindqonline.com 53
 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.
www.mindqonline.com 54
 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
www.mindqonline.com 55
 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.
www.mindqonline.com 56
 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.
www.mindqonline.com 57
www.mindqonline.com 58
success
failure
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.
www.mindqonline.com 59
www.mindqonline.com 60
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.
www.mindqonline.com 61
Java Data Types
Int, float, String, char, Boolean and double
www.mindqonline.com 62
Declarations
String s =
“Selenium”;
Int i = 20;
float cur = 3.35;
Operators
* ,/ ,% ,+, - are the
mathematical
operators
* ,/, %, have a higher
precedence than + or
-
== Equal (careful)
!= Not equal
>= Greater than or equal
<= Less than or equal
> Greater than
< Less than
www.mindqonline.com 63
If Condition
if (name != “selenium”)
{
System.out.print(“Tool Changed”);
}
Else
{
System.out.print(“Tool is ok”);
}
www.mindqonline.com 64
Loop n times
for ( i = 0; i < n; n++ )
{
// this code body will execute n times
// I from 0 to n-1
}
www.mindqonline.com 65
Required Packages
 import java.util.Date;
 import java.text.SimpleDateFormat;
Sample Code
www.mindqonline.com 66
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.
www.mindqonline.com 67
www.mindqonline.com 68
Xpath Locator
 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;
www.mindqonline.com 69
www.mindqonline.com 70
 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
www.mindqonline.com 71
 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
www.mindqonline.com 72
www.mindqonline.com 73
 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.
www.mindqonline.com 74
www.mindqonline.com 75
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.
 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:
www.mindqonline.com 76
www.mindqonline.com 77
 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
www.mindqonline.com 78
 Relatively easy to automate web UI tests
 Record/Replay for regression tests
 RC allows integration with CI and
JUnit/FitNesse tests
www.mindqonline.com 79
 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)
www.mindqonline.com 80
 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!!!
www.mindqonline.com 81

Weitere ähnliche Inhalte

Was ist angesagt?

Automation Testing using Selenium Webdriver
Automation Testing using Selenium WebdriverAutomation Testing using Selenium Webdriver
Automation Testing using Selenium WebdriverPankaj Biswas
 
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
 
Introduction to Selenium IDE
Introduction to Selenium IDEIntroduction to Selenium IDE
Introduction to Selenium IDEdrnikki
 
An overview of selenium webdriver
An overview of selenium webdriverAn overview of selenium webdriver
An overview of selenium webdriverAnuraj S.L
 
Selenium introduction and some feautures
Selenium introduction and some feauturesSelenium introduction and some feautures
Selenium introduction and some feautureszahid32
 
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.
 
Automation Using Selenium Webdriver
Automation Using Selenium WebdriverAutomation Using Selenium Webdriver
Automation Using Selenium WebdriverEdureka!
 
Continuous Quality Assurance using Selenium WebDriver
Continuous Quality Assurance using Selenium WebDriverContinuous Quality Assurance using Selenium WebDriver
Continuous Quality Assurance using Selenium WebDriverAOE
 
Designing an effective hybrid apps automation framework
Designing an effective hybrid apps automation frameworkDesigning an effective hybrid apps automation framework
Designing an effective hybrid apps automation frameworkAndrea Tino
 
Creation of simple application using - step by step
Creation of simple application using - step by stepCreation of simple application using - step by step
Creation of simple application using - step by steppriya Nithya
 
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...Edureka!
 
Selenium webcrawler
Selenium webcrawlerSelenium webcrawler
Selenium webcrawlerRabia Khalid
 
ATAGTR2017 Upgrading a mobile tester's weapons with advanced debugging
ATAGTR2017 Upgrading a mobile tester's weapons with advanced debuggingATAGTR2017 Upgrading a mobile tester's weapons with advanced debugging
ATAGTR2017 Upgrading a mobile tester's weapons with advanced debuggingAgile Testing Alliance
 
Automated UI Testing Done Right (QMSDNUG)
Automated UI Testing Done Right (QMSDNUG)Automated UI Testing Done Right (QMSDNUG)
Automated UI Testing Done Right (QMSDNUG)Mehdi Khalili
 
Automating UI testing
Automating UI testingAutomating UI testing
Automating UI testingAdam Siton
 

Was ist angesagt? (20)

Automation Testing using Selenium Webdriver
Automation Testing using Selenium WebdriverAutomation Testing using Selenium Webdriver
Automation Testing using Selenium Webdriver
 
Test automation using selenium
Test automation using seleniumTest automation using selenium
Test automation using selenium
 
Selenium web driver
Selenium web driverSelenium web driver
Selenium web driver
 
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
 
Introduction to Selenium IDE
Introduction to Selenium IDEIntroduction to Selenium IDE
Introduction to Selenium IDE
 
Selenium presentation
Selenium presentationSelenium presentation
Selenium presentation
 
Selenium drivers
Selenium driversSelenium drivers
Selenium drivers
 
Selenium Overview
Selenium OverviewSelenium Overview
Selenium Overview
 
An overview of selenium webdriver
An overview of selenium webdriverAn overview of selenium webdriver
An overview of selenium webdriver
 
Selenium introduction and some feautures
Selenium introduction and some feauturesSelenium introduction and some feautures
Selenium introduction and some feautures
 
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
 
Automation Using Selenium Webdriver
Automation Using Selenium WebdriverAutomation Using Selenium Webdriver
Automation Using Selenium Webdriver
 
Continuous Quality Assurance using Selenium WebDriver
Continuous Quality Assurance using Selenium WebDriverContinuous Quality Assurance using Selenium WebDriver
Continuous Quality Assurance using Selenium WebDriver
 
Designing an effective hybrid apps automation framework
Designing an effective hybrid apps automation frameworkDesigning an effective hybrid apps automation framework
Designing an effective hybrid apps automation framework
 
Creation of simple application using - step by step
Creation of simple application using - step by stepCreation of simple application using - step by step
Creation of simple application using - step by step
 
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
 
Selenium webcrawler
Selenium webcrawlerSelenium webcrawler
Selenium webcrawler
 
ATAGTR2017 Upgrading a mobile tester's weapons with advanced debugging
ATAGTR2017 Upgrading a mobile tester's weapons with advanced debuggingATAGTR2017 Upgrading a mobile tester's weapons with advanced debugging
ATAGTR2017 Upgrading a mobile tester's weapons with advanced debugging
 
Automated UI Testing Done Right (QMSDNUG)
Automated UI Testing Done Right (QMSDNUG)Automated UI Testing Done Right (QMSDNUG)
Automated UI Testing Done Right (QMSDNUG)
 
Automating UI testing
Automating UI testingAutomating UI testing
Automating UI testing
 

Ä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 seleniumjayeshvaghelaqa
 
Test automation using selenium
Test automation using seleniumTest automation using selenium
Test automation using seleniumshreyas JC
 
Selenium ide material (2)
Selenium ide material (2)Selenium ide material (2)
Selenium ide material (2)Sriram Angajala
 
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
 
Learn SELENIUM at ASIT
Learn SELENIUM at ASITLearn SELENIUM at ASIT
Learn SELENIUM at ASITASIT
 
Introduction to Selenium
Introduction to SeleniumIntroduction to Selenium
Introduction to SeleniumKnoldus Inc.
 
Everything you need to know about the Selenium IDE: Tutorial
Everything you need to know about the Selenium IDE: TutorialEverything you need to know about the Selenium IDE: Tutorial
Everything you need to know about the Selenium IDE: TutorialpCloudy
 
Selenium Installation
Selenium InstallationSelenium Installation
Selenium InstallationSachin-QA
 
Selenium IDE and Extensions
Selenium IDE and ExtensionsSelenium IDE and Extensions
Selenium IDE and ExtensionsYana Altunyan
 
Selenium training
Selenium trainingSelenium training
Selenium trainingRobin0590
 

Ä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
 
Test automation using selenium
Test automation using seleniumTest automation using selenium
Test automation using selenium
 
Selenium ide material (2)
Selenium ide material (2)Selenium ide material (2)
Selenium ide material (2)
 
Selenium tutorial
Selenium tutorialSelenium tutorial
Selenium tutorial
 
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)
 
Learn SELENIUM at ASIT
Learn SELENIUM at ASITLearn SELENIUM at ASIT
Learn SELENIUM at ASIT
 
Introduction to Selenium
Introduction to SeleniumIntroduction to Selenium
Introduction to Selenium
 
What is selenium
What is seleniumWhat is selenium
What is selenium
 
Selenium ide made easy
Selenium ide made easySelenium ide made easy
Selenium ide made easy
 
Everything you need to know about the Selenium IDE: Tutorial
Everything you need to know about the Selenium IDE: TutorialEverything you need to know about the Selenium IDE: Tutorial
Everything you need to know about the Selenium IDE: Tutorial
 
Selenium ppt
Selenium pptSelenium ppt
Selenium ppt
 
Selenium Installation
Selenium InstallationSelenium Installation
Selenium Installation
 
Selenium Testing
Selenium Testing Selenium Testing
Selenium Testing
 
Selenium IDE and Extensions
Selenium IDE and ExtensionsSelenium IDE and Extensions
Selenium IDE and Extensions
 
Selenium training
Selenium trainingSelenium training
Selenium training
 
Selenium (1) (1)
Selenium (1) (1)Selenium (1) (1)
Selenium (1) (1)
 
Selenium
SeleniumSelenium
Selenium
 
Selenium
SeleniumSelenium
Selenium
 

Kürzlich hochgeladen

Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 

Kürzlich hochgeladen (20)

Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 

Test automation using selenium

  • 2.  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. www.mindqonline.com 2
  • 3. 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) www.mindqonline.com 3
  • 4.  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. www.mindqonline.com 4
  • 5.  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. www.mindqonline.com 5
  • 6.  Selenium IDE  Selenium Remote Control  Selenium Grid www.mindqonline.com 6
  • 7.  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 www.mindqonline.com 7
  • 8.  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. www.mindqonline.com 8
  • 9. www.mindqonline.com 9 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)
  • 10. www.mindqonline.com 10 Start and Stop Recording Selenese Script Editor Selenium Log Replay Toolbar Accessor Area
  • 11. www.mindqonline.com 11 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
  • 12.  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) www.mindqonline.com 12
  • 13.  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 www.mindqonline.com 13
  • 14.  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 www.mindqonline.com 14
  • 15.  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. www.mindqonline.com 15 Test Suite with Test1 & test2
  • 16.  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 www.mindqonline.com 16 On Clicking the Test Runner Button you will the window as seen in the next slide
  • 17. www.mindqonline.com 17 Click this button to run all the tests
  • 18. 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. www.mindqonline.com 18
  • 19. 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. www.mindqonline.com 19
  • 20.  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. www.mindqonline.com 20
  • 21. www.mindqonline.com 21 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
  • 22. 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 www.mindqonline.com 22
  • 23. 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 www.mindqonline.com 23
  • 24. 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. www.mindqonline.com 24
  • 25.  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. www.mindqonline.com 25
  • 26.  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. www.mindqonline.com 26
  • 27. 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. www.mindqonline.com 27
  • 28. 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 www.mindqonline.com 28
  • 29.  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. www.mindqonline.com 29
  • 30.  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 www.mindqonline.com 30
  • 31.  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 www.mindqonline.com 31
  • 32.  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 www.mindqonline.com 32
  • 33. 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. www.mindqonline.com 33
  • 34.  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 www.mindqonline.com 34
  • 35.  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. www.mindqonline.com 35
  • 37.  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. www.mindqonline.com 37
  • 38. www.mindqonline.com 38 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.
  • 39. Command :  java -jar selenium-server.jar -multiwindow -htmlSuite "*iexplore" "https://localhost/store/" "D:testa.html" "C:results.html“  Once the command is run the results will be stored in the results.html file as shown below. www.mindqonline.com 39
  • 40. 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. www.mindqonline.com 40
  • 41. 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 www.mindqonline.com 41
  • 42. 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. www.mindqonline.com 42
  • 43. 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. www.mindqonline.com 43
  • 44.  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. www.mindqonline.com 44
  • 45.  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. www.mindqonline.com 45
  • 46.  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. www.mindqonline.com 46
  • 48.  File  New  Java Project www.mindqonline.com 48 • Specify the project name and click finish
  • 49.  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. www.mindqonline.com 49
  • 51.  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 www.mindqonline.com 51
  • 52.  Your IDE should look like this www.mindqonline.com 52 This is where you have copy the Java code that you formatted in the Selenium IDE
  • 53.  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 www.mindqonline.com 53
  • 54.  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. www.mindqonline.com 54
  • 55.  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 www.mindqonline.com 55
  • 56.  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. www.mindqonline.com 56
  • 57.  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. www.mindqonline.com 57
  • 59. 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. www.mindqonline.com 59
  • 61. 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. www.mindqonline.com 61
  • 62. Java Data Types Int, float, String, char, Boolean and double www.mindqonline.com 62 Declarations String s = “Selenium”; Int i = 20; float cur = 3.35; Operators * ,/ ,% ,+, - are the mathematical operators * ,/, %, have a higher precedence than + or -
  • 63. == Equal (careful) != Not equal >= Greater than or equal <= Less than or equal > Greater than < Less than www.mindqonline.com 63
  • 64. If Condition if (name != “selenium”) { System.out.print(“Tool Changed”); } Else { System.out.print(“Tool is ok”); } www.mindqonline.com 64 Loop n times for ( i = 0; i < n; n++ ) { // this code body will execute n times // I from 0 to n-1 }
  • 66. Required Packages  import java.util.Date;  import java.text.SimpleDateFormat; Sample Code www.mindqonline.com 66
  • 67. 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. www.mindqonline.com 67
  • 69.  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; www.mindqonline.com 69
  • 71.  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 www.mindqonline.com 71
  • 72.  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 www.mindqonline.com 72
  • 74.  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. www.mindqonline.com 74
  • 75. www.mindqonline.com 75 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.
  • 76.  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: www.mindqonline.com 76
  • 78.  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 www.mindqonline.com 78
  • 79.  Relatively easy to automate web UI tests  Record/Replay for regression tests  RC allows integration with CI and JUnit/FitNesse tests www.mindqonline.com 79
  • 80.  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) www.mindqonline.com 80
  • 81.  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!!! www.mindqonline.com 81