Automation Fundamental
Concepts and Intro.
about QTP 9.2
--Chandra Sekhar
Contact:chanduatp@gmail.com
+91-9986108024
Automation Fundamental Concepts
What is Test Automation ?
Software Test Automation is the process of automating the steps of manual test
cases using an automation tool Or utility to shorten the testing life cycle with
respect to time…
When application undergoes regression, some of the steps might be missed out
or skipped which can be avoided in Automation…
Automation helps to avoid human errors and also expedite the testing
process…
To implement the Test Automation detailed planning and effort is required
Contact:chanduatp@gmail.com
+91-9986108024
Automation Fundamental Concepts
Automation saves time and effort which results in reduction of the Test life
cycle…
Benefits of Automation
- Consistency of Test Execution
- Reducing cycle time of regression test cycles
- Data driven testing
- Repeatability
- Coverage
- Reliability
- Reusability of test wares
Contact:chanduatp@gmail.com
+91-9986108024
Automation Fundamental Concepts
Automation life cycle is a subset of the entire test life cycle…
Automation planning can be initiated in parallel to the test planning phase…
Factors to be considered in automation planning,
Stability of AUT (Application under test)
No of regression cycles to be performed
Compatibility of App platform with testing tools
Cost benefit analysis (ROI)
Availability of skilled resources
Contact:chanduatp@gmail.com
+91-9986108024
Regression Testing & Automation
When Automation is applicable?
Regression Testing Cycles are long and iterative.
If the application is planned to have multiple releases / builds
If it’s a long running application where in small enhancements / Bug Fixes
keeps happening
Test Repeatability is required
Contact:chanduatp@gmail.com
+91-9986108024
Technologies Supported
Default Support
1. Standard Windows applications
2. Web objects / Applications
3. ActiveX controls
4. Visual Basic applications
Supported Add-ins
QuickTest Professional Java Add-in 9.1
QuickTest Professional .NET Add-in 9.2
QuickTest Professional Oracle Add-in 8.2
QuickTest Professional PeopleSoft Add-in 8.2*
QuickTest Professional Add-in 8.2 for SAP Solutions
QuickTest Professional Siebel Add-in 8.0*
QuickTest Professional Stingray Add-in 8.2
QuickTest Professional Terminal Emulator Add-in 8.0*
QuickTest Professional VisualAge Smalltalk Add-in 8.2
QuickTest Professional Web Services Add-in 9.2
Contact:chanduatp@gmail.com
+91-9986108024
Supported Browsers
Microsoft Internet Explorer 6.0 Service Pack 1
Microsoft Internet Explorer 7.0
Netscape Browser 8.1.2
Mozilla Firefox 1.5
Mozilla Firefox 2.0
Contact:chanduatp@gmail.com
+91-9986108024
Add-in Manager
Default Add-ins
ActiveX
Visual basic
Web
Other Add-Ins
Siebel
Java
SAP
Oracle
.Net and many more
Contact:chanduatp@gmail.com
+91-9986108024
Add-in Manager Cont…
QTP’s Add-in Manager facilitates the users to select the technology /
environment from variety of environments suitable for the AUT (Application
Under Test)
Once an add-in is loaded, users can record that application in its supported
environment and thus QTP recognizes the objects specific to the application
under test (AUT) as loaded through Add-in Manager.
It is critical for the users to know the development technologies / environment of
AUT, and load right Add-Ins while invoking Quick Test Pro.
Contact:chanduatp@gmail.com
+91-9986108024
Quick Test Professional - Record &
Run Modes
Recording Modes
Normal
Analog
Low level
Run Modes
Normal
Fast
Update
Contact:chanduatp@gmail.com
+91-9986108024
Quick Test Professional -Tools
Options General
Click on “Restore Layout” button to reset screens to the initial setting when
QuickTest was first installed.
Contact:chanduatp@gmail.com
+91-9986108024
Quick Test Professional - Tools
Options Run
Contact:chanduatp@gmail.com
+91-9986108024
Quick Test Professional - Options
Run
Best Practices for Options for Run Mode:
Run Mode as Normal:
This ensures that the execution arrow appears to help with trouble
shooting the tests.
Synchronization becomes better for the AUT (Application Under Test)
Test Results:
Deselect the option “View Results when run session ends”
Mercury Tool Integration:
Select "Allow other Mercury products to run tests and components“
Screen Capture:
Save step screen capture to results "On error and warnings"
Contact:chanduatp@gmail.com
+91-9986108024
Automation Record and Run Settings
Contact:chanduatp@gmail.com
+91-9986108024
Record and Run Settings
Best Practices for Record & Run Settings
Set the options to configure QTP to "Record and run test on any open
Windows- based application“
Set the option - This window will appear the first time you click on the
Record button in the new test.
Manually recall this window by selecting AutomationRecord and Run
settings
Contact:chanduatp@gmail.com
+91-9986108024
QTP - Main Window
Contact:chanduatp@gmail.com
+91-9986108024
QTP - Main Window
Test Pane:
Test Pane contains two labs to view the tests,
- Keyword View
- Expert View
Keyword View:
Quick Test Pro displays your test in the form of a collapsible, icon
based tree…
Expert View:
Quick Test Pro displays the source code (VB Script) of the tests in this
view.
Contact:chanduatp@gmail.com
+91-9986108024
Resources Object Repository
Can add a
New Object to
the repository
The value of property
can be edited here.
More properties for
recognizing the object
can be added to the list.
Contact:chanduatp@gmail.com
+91-9986108024
Resources Object Repository Manager
Contact:chanduatp@gmail.com
+91-9986108024
Resources Associate Repositories
Add shared Repository
Contact:chanduatp@gmail.com
+91-9986108024
Resources Object Repository
Associate repository is
added to the Filter
option.
Contact:chanduatp@gmail.com
+91-9986108024
Object Repository Merging tool
Primary Repository.
Secondary Repository
Contact:chanduatp@gmail.com
+91-9986108024
Object Repository Comparison Tool
Comparing two
repositories'
Contact:chanduatp@gmail.com
+91-9986108024
VB Script basics – Data Types
Contact:chanduatp@gmail.com
+91-9986108024
VB Script basics – Variables & Constants
Declaring Variables
Naming Restrictions
Scope and Lifetime of Variables
Assigning Values to Variables
Scalar Variables and Array Variables
Creating Constants
Contact:chanduatp@gmail.com
+91-9986108024
VB Script basics - Operators
Contact:chanduatp@gmail.com
+91-9986108024
VB Script basics – Conditions & Looping
Conditional Statements
If...Then...Else statement
Select Case statement
Looping
Do...Loop: Loops while or until a condition is true.
While...Wend: Loops while a condition is true.
For...Next: Uses a counter to run statements a specified number of times.
For each...Next: Repeats a group of statements for each item in a collection
or each element of an array.
Contact:chanduatp@gmail.com
+91-9986108024
VB Script basics – Functions
Contact:chanduatp@gmail.com
+91-9986108024
Key areas in QTP
About the script structure
Actions (Simple, Nested, External, Re-usable)
Parameterization (Different Types)
Checkpoints (Programmatic Methodology)
Descriptive programming
Adv. Synchronization points
Exception Handling
Contact:chanduatp@gmail.com
+91-9986108024
About the script structure
Contact:chanduatp@gmail.com
+91-9986108024
Actions (Simple, Nested, External, Re-usable)
Standalone Actions
Nested Actions
Integration of Actions (Call from One Action to other)
Driver Action (Main Action)
Re-usable Actions
External Call for Actions
Contact:chanduatp@gmail.com
+91-9986108024
Parameterization
Classifications of Parameterization
Test and Action Parameters
Data Table (Global & Action Specific)
Environment variables
Random Number
Contact:chanduatp@gmail.com
+91-9986108024
Types of Checkpoints
Standard Checkpoint Checks values of an object’s properties Check that a radio button is
selected.
Image Checkpoint Checks the property values of Check that the image source file
an image is correct.
Table Checkpoint Checks information in a table Check that the value in a table
cell is correct.
Page checkpoint Checks the characteristics of a Web page Check how long a Web page
takes to load or if a Web page
contains broken links.
Text / Checks that a text string is displayed in Check whether the expected
Text Area Checkpoint the appropriate place in a Web page or text string is displayed in the
application window expected location on a Web
page or dialog box
Bitmap Checkpoint Checks an area of a Web page Check that a Web page (or any
or application after capturing portion of it) is displayed as
it as a bitmap expected.
Contact:chanduatp@gmail.com
+91-9986108024
Types of Checkpoints
Database Checks the contents of databases Check that the value in a
Checkpoint accessed by an application or Web database query is correct.
site
Accessibility Identifies areas of a Web site Check if the images on a
Checkpoint to check for Section 508 Web page include ALT
compliancy properties, required by the
W3C Web Content
Accessibility Guidelines.
XML Checkpoint Checks the data content of Note: XML file checkpoints
XML documents are used to check a
specified XML file; XML
application checkpoints are
used to check an XML
document within a Web
page.
Contact:chanduatp@gmail.com
+91-9986108024
Descriptive Programming Samples
Descriptive programming
Entering Programmatic Descriptions Directly into Statements
Browser("Mercury Tours").Page("Title:=Mercury
Tours").WebEdit("Name:=Author", "Index:=3").Set "Mark Twain"
Using Description Objects for Programmatic Descriptions
Set MyDescription = Description.Create()
MyDescription("text").Value = "OK"
MyDescription("width").Value = 50
Window("Error").WinButton(MyDescription).Click
Contact:chanduatp@gmail.com
+91-9986108024
Adv. Synchronization Points
Using tool menu options
Wait property
Programmatically
Wait & exist
Contact:chanduatp@gmail.com
+91-9986108024
Exception Handling
Recovery Scenario Concepts
Recovery Process
Trigger Events
Recovery Operation
Post-recovery Operation
Contact:chanduatp@gmail.com
+91-9986108024
Sample Script – QTP Functions
'sample 1 - Getting all the items from the combobox
My_Cnt = Window("Flight Reservation").WinComboBox("Fly
From:").GetItemsCount
msgbox My_Cnt
For i = 1 to My_Cnt
' the combobox item index will start from zero.
My_item = Window("Flight Reservation").WinComboBox("Fly
From:").GetItem(i-1)
Msgbox My_item
Next
'sample 2 - Getting the entire content of the combobox
Var_Content = Window("Flight Reservation").WinComboBox("Fly
From:").GetContent
Msgbox Var_Content
Contact:chanduatp@gmail.com
+91-9986108024
Sample Script – QTP Functions
'sample 3 - Selecting an item from the combo - Using Index
Window("Flight Reservation").WinComboBox("Fly From:").Select(5)
'sample 4 - Selecting an item from the combo - Using Value
Window("Flight Reservation").WinComboBox("Fly From:").Select("London")
'sample 5 - Selecting an item from the combo - Using Variable
Var_Item = "Zurich"
Window("Flight Reservation").WinComboBox("Fly From:").Select(Var_Item)
'sample 6 - Getting the value of selected item
Var_Sel = Window("Flight Reservation").WinComboBox("Fly From:").GetSelection
Msgbox Var_Sel
Contact:chanduatp@gmail.com
+91-9986108024
Sample Script – QTP Functions
' Some FUM's (Frequently Used Methods)
'GetROProperty
Var_Text = Window("Flight
Reservation").WinEdit("Name:").GetROProperty("AttachedText")
Msgbox Var_Text
Var_Enab = Window("Flight
Reservation").WinEdit("Name:").GetROProperty("Enabled")
Msgbox Var_Enab
'Exist
If Window("Flight Reservation").WinEdit("Name:").Exist(5) Then
Msgbox "The Editbox exists"
Else
Msgbox "The Editbox does not exist"
End if
Contact:chanduatp@gmail.com
+91-9986108024
Thank You
Contact:chanduatp@gmail.com
+91-9986108024