You are on page 1of 41

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 AutomationRecord 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

You might also like