Title: QTP 9.2
1QTP 9.2
- Material Prepared by Sriraman K
2Objectives
- Automation Need for automation, Rules of
automation - Exposure to the Automation Concepts and Kick
start the learning of one of the leading tool QTP
3Need of Automation
- Speed Automation Scripts run very fast when
compared to human users - Reliable Tests perform precisely the same
operations each time they are run, there by
eliminating human error. - Repeatable We can test how the application
reacts after repeated execution of the same
operation - Comprehensive We can build a suite of tests
that covers every feature in our application - Reusable We can reuse tests on different
versions of an application, even if the user
interface changes.
4Rules of Automation
- Testing Tools are usually very expensive.
- The test manager or the test lead has to
- think twice before going in for automating
- his test effort. There are also some widely
- held false notions or beliefs about
- automation tools.
- In general, the golden rules that should be
- kept in mind in the regard are.
5Golden Rules
- Product feature understanding, test planning,
test case documentation, test bed setup, defect
tracking, progression tests are all done in
manual mode - Test automation success depends on robustness of
the test cases not on the test tool. - Every manual step has commands in test scripts
- If it is not worth, DO NOT AUTOMATE.
- Do not build application logic in your test
scripts - Always have a common know base state for test
cases - One test script Action must address one test
case.
6 What are the different tools available in the
market (for functional testing)-
- Quick Test Professional (HP)
- WinRunner (HP)
- Robot (IBM Rational)
- Functional Tester (IBM Rational)
- SilkTest (Borland)
- TestComplete (AutomatedQA)
- QAWizard (Seapine)
- TestPartner (Compuware)
- QEngine (AdventNet)
- Open source tools (Sahi, Watir)
7Life Cycle Of Automation-
- Analyze the Application
- Select The Tool
-
- Identify the session
- Design/ Record Test Scripts
-
- Run the test scripts
-
- Finding Reporting the defects
8Introduction to QTP -
- Developed by Mercury interactive now owned by HP
- Developed for web functionality
- QTP supports both web applications windows
applications - QTP Developed in 2002, present version in the
market is 9.5 - Test Script developed on VB Script
- QTP supported Technology
- .NET. J2EE, Main Frame, XML, Java, Delphi
- ERP -gt SAP, Seibel, People soft
- QTP Supports both Technical Non Technical
People - QTP run on only windows platform not supporting
UNIX, Linux etc
9Environment needs for QTP 9.2
- System Requirement Equivalent to P3 and above
- Hardware Drive 250MB of Free Memory space
- RAM 512MB of RAM
- OS M/S windows 2000 server with 3-4
service pack - M/S
windows XP with 1-2 SP - M/S
windows 2003 with no service pack - Web Browser MS Internet Explorer 5.5 and
above -
Netscape Navigator 6.11, 6.22, 6.23, 7.02, 7.1 - AOL
8.0, 9.0
10Add Ins of QTP -
- Technology supported by the QTP
- By default three Add Ins are there in QTP
- ActiveX
- VB
- Web
- Additional Add ins
- Java
- Oracle
- People soft
- .NET
- Terminal Emulator (RTE)
- SAP
- Siebel
- Delphi
-
11Window Structure of QTP -
- 1) Test Pane
- 2) Active Screen
- 3) Data Table
- 4) Debug Viewer
-
-
12Architecture Of QTP -
- Script(.mts file)
- Action1 Rep1(.mtr file)
- Sheet1(localSheet)
- Parameters (Action Parameter)
- Shared Repository (.tsr File) Action2 Rep2
- Global Sheet Sheet2(localSheet)
- Environment Parameter Parameters (Action
Parameter) - Test Parameter
- Action3 Rep3
- Sheet3(localSheet)
- Parameters (Action Parameter)
-
-
13Course Objective
- Object Spy
- Object Identification
- Understanding customizing Non Standard Objects
- Understanding Way of Recognition
- Object Repository
- Simple Record and Replay
- Types of Record Context Sensitive, Analog, Low
Level Record - Managing Script with Various Data
- Parameters (DataTable)
- VB Scripting (String Manipulation, Msgbox, Split
command, InStr, Loops, Conditions) - Managing Script with Dynamic Objects
- Regular Expression
- Smart Identification
- Check Points Standard, Bitmap, Text
14Object Spy-
- Object spy is used to display or view all the
physical properties and methods of an object.
15Object Identification-
- Used to Map non Standard Object to Standard
Object - Used to configure Recognition properties for an
object class. - Recognition properties are configured using
- Mandatory Properties
- Assistive properties (are used when mandatory
property fails to recognize the object uniquely) - Ordinal Identifier (are used when both mandatory
and assistive fails to recognize the object
uniquely) - Location (Represent x- coordinate of the screen
or parent object Nearest to x is 0) - Index (Works based on active screen active
screen being 0 by default) - Creation Time (For web browsers, no. of instances
decides the creation time)
16Object Repository-
- Stores the object for the purpose of playing back
- Uses Logical Name and Description properties to
recognize the object from script and application
respectively - Description Properties are created through Object
Identification - Repository can be managed using Per Action mode
(.mtr File) and Shared Repository Mode (.tsr
File) by the script
17Object Repository Dialog Box-
18Recording Modes -
- Three Modes of Recording
- Context Sensitive or Normal Recording Uses the
object class and properties and method to perform
action. - Analog Recording Understands only the key or
mouse movements - Relative to the screen Desktop.RunAnalog
Track1 - Relative to the window Window(ltltobjNamegtgt).RunAna
log Track1 - Low Level Recording Understand the x and y
coordinate of the within the object on which the
action is performed. - Object(ltltObjNamegtgt).Click (22,45)
19Record a Test
20Record Run Settings-
21Run a Test and Save Results-
22View Test Results-
23Virtual Object-
- Virtual Object is used to identify the properties
of similar objects in a particular Area. - Example In normal recording if we select the
paint brush window, the script will look like
this- - window(Paint).Activate
- Window(Paint).Winobject(colors).Click
72,16 - Window(Paint).Winobject(colors).Click
80,14 - window(Paint).Close
- If we are using Virtual object, the script will
look like this- - window(Paint).Activate
- Window(Paint).Winobject(colors).Virtu
al Button(RED) - Window(Paint).Winobject(colors).Virtu
al Button(BLUE) - window(Paint).Close
-
24VB Scripting
- Msgbox()
- Inputbox()
- String manupulation
- Using Variables
- Using Concatenation
- Split ()
- Instr()
- Loops For loop, Do while, Select Case
- Conditions If then Else
25Parameters Data manipulation
- Script Level Parameterization
- Constant
- DataTable(clmName,dtLocal/GlobalSheet)
- RandomNumber(start,End)
- Environment(Paraname)
- Action Parameter - Parameter(ParaName)
- Action Parameter
- Constant
- DataTable
- RandomNumber
- Environment
- Test Parameter
- Test Parameter
- Constant (Test Parameter can be configured only
through Action Parameter) - Environment Parameter
- Build In
- User Defined
26Action Parameter
- Action Parameter
- To create an Action Parameter Go to Action,
Right Click, Select Action Properties and give
Default value to be used. - To Modify Action Parameter default value Go to
Action, Right Click, Select Action Call
Properties and select the parameter for which
modification is needed, select value column and
click on configure value button under value. - To control the iteration of Action Sheet, Go to
Action, Right Click, Select Action call
properties and Run tab
27Test Parameter Environment
- Test Parameter
- File-gtSetting-gtParameter Tab
- Only constant value can be used
- To use the test parameter in the script, Test
parameter needs to configured to action
parameter. - Environment Parameter
- File-gtSetting-gtEnvironment Tab
- Build in and User defined parameters
- To use the environment in other machines, use
export and import under environment parameter tab
28Setting the Parameter Value-
29Using Data Sheet (Global, Local Location)-
30Multiple Actions
- How to Create New Actions?
- Creating as Independent Action (Call to New
action, Select at the end of test radio button) - Creating as Nested Action (Call to new action,
Select After the current test radio button) - Dependent Action One action depends on another
action for want of data - Using Datatable Output Value
- Using Output Parameter Output Value
- Output value
- Select the object from active screen, Right
click, Select output value - At Recording time Select from menu Insert-gtOutput
Value-gtStandard Output value
31Reusable Actions
- How to make an action as Reusable Action?
- Passing Parameters for Reusable Action
- Using Input Parameters
- Using Output Parameters
- SystemUtil Commands
- .Exist Command
- Syntex of Reusable Action
- RunAction ActionNameScriptName,
One/Alliteration, Parameters(optional)
32Dynamic Objects-
- What is Dynamic Object?
- When we can say, the object is dynamic?
- Ways to Solve those dynamic objects
- SetTOProperty
- Parent().Object(Logical).SetTOProperty
propertyName, Value - Regular Expression
- Repository Parameter
- Smart Identification
- What is Smart Identification?
- It is a second level of Recognition Mechanism to
recognize an object when it is failed using
Description properties - It is not a permanent method to solve a dynamic
object It is an indication to the user that the
object is not managed using description properties
33Regular Expressions-
- This can be used where there is a pattern of
Change. -
- Regular Expressions can be used in the following
areas - 1) Check Points
- 2) In parameterization
- 3) Data Driven test
- 4) Actions
- 5) Exception Handling.etc
34Using a Regular Expression-
35Some Regular Expressions-
36Smart Identification-
- Smart Identification is used as Second level of
recognition mechanism. When the Quick test fails
to recognize the object through description
properties, it tries to identify the object using
Smart identification. - By invoking smart identification, system takes
more time than usual time so if an object is
identified in smart identification method then
that object needs to be attended - Two properties are available in Smart
identification - They are-
- Base Filter Properties (This property has to
match) - Optional Filter Properties (Atleast one of the
property should be unique)
37Synchronization Point-
- Synchronization point maintains the time
coordination between testing process and your
application process. - Types of Synchronization
- Sync
- Wait
- WaitProperty
- Exist
38Check Points-
- Check Point is a verification point that compares
the current value of the specified property with
the expected value for that property. - Standard Check Point
- Text/ Text Area Check Point
- Bitmap Check point
- Database Check Point
- XML Check Point
- Accessibility Check Point/ Web Checkpoint
39 Checkpoint Types
40Inserting a Checkpoint During Recording-
41Insert a Checkpoint After Recording-
42Identifying a Failed Checkpoint-
43Exception Handling-
-
- It enables Quick test to detect and handle when
unexpected error occurred during execution time. - Types of Exception Handling
- Popup Exception Handling
- Object State Exception Handling
- Test Run Exception Handling
- Application Crash
44Comments Queries-
- Queries are always welcome.
45Your Voluntary Contribution
- To enhance the service by improving bandwidth and
improve the e-learning methodology needs an
investment, in case you feel this helps you,
kindly contribute any amount to the below
mentioned account. - Little drops of water make the mighty ocean.
- Expecting your kind support, it is absolutely
voluntary and optional - Company Softsmith Infotech Pvt Ltd.
- Bank Name HDFC Bank Ltd
- Account Type Current A/C
- Account No 05742320000031
- Branch Chennai - Kodambakkam -
Tamilnadu - Cust ID 25417385
- Branch Code 0574
- When remitting kindly mention your name and
course - You can also send DD to the above mentioned name
in case direct transfer is not possible. - Address is available at www.softsmith.com
46Feedback-
- Please spend few minutes from your
- valuable time to provide your feedback.
- It will help us to improve in next sessions.
- Contact Details
- Sriraman K
- Email sriramank_at_softsmith.com
- Thanks Happy Testing..