qtp slides

54
PREVIOUSLY MERCURY INTERACTIVE PRODUCT NOW TAKEN OVER BY HP

Upload: ritu-goyal

Post on 10-Apr-2015

173 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Qtp Slides

PREVIOUSLY MERCURY INTERACTIVE PRODUCT

NOW TAKEN OVER BY HP

Page 2: Qtp Slides

WHY QTP?• MORE USER FRIENDLINESS• MORE FEATURES – MORE

CHECKPTS• BEST FOR .NET AND OTHER WEB

BASED APPLICATION• KEYWORD DRIVEN TESTING

SOLUTION

Page 3: Qtp Slides

DIFFERENT PANES IN QTP

• TEST PANE – SCRIPTS ARE GENERATED

• ACTIVE SCREEN – SNAP SHOTS• DATA TABLE – PARAMETRIZATION• DEBUGGER – BREAKPOINTS,

WATCHLIST, COMMANDS

Page 4: Qtp Slides

WHAT TYPE OF TOOL IS QTP

• RECORD AND PLAYBACK TOOL• IT HAS ADDITIONAL FEATURES LIKE

SYNC PT, CHECK PT, OUTPUT VALUES• IT HAS STEP GENERATOR – BUILT IN

FUNCTIONS• IT HAS FUNCTION DEFINITION

GENERATOR – USER DEFINED FUNCTIONS

Page 5: Qtp Slides

ADD-INS• ADD-INS ARE SIMILAR TO HEADER FILES IN C

LANGUAGE• THEY ARE INCLUDED AT THE BEGINNING OF

TESTING SESSIONS SO THAT CLASSES, FUNCTIONS OF PARTICULAR APPLICATION ARE LEARNT BY QTP

• FOR TESTING JAVA APPLICATION, JAVA ADDIN HAD TO BE INCLUED.

• ADDIN MANAGER ENABLES TO MANAGE THE ADDINS INCLUSION.

Page 6: Qtp Slides

TYPES OF VIEWS IN TEST PANE

• TWO TYPES• KEYWORD VIEW – ACTIONS ARE

GENERATED IN TABULAR FORMAT SIMILAR TO MANUAL TEST CASES

• EXPERT VIEW – ACTIONS ARE GENERATED IN VB SCRIPTING

Page 7: Qtp Slides

MODES OF RECORDING• NORMAL MODE – RECORDING BASED

ON PROPERTIES OF GUI• ANALOG MODE – MOUSE MOVEMENTS,

CLICKS, KEYBOARD STROKES• LOW LEVEL – COMBINATION OF ABOVE

TWO – MAINLY FOR RECORDING CUSTOM OBJECTS

Page 8: Qtp Slides

OBJECT RECOGNITION• MANDATORY PROPERTIES – QTP

ALWAYS LEARNS FOR DIFFERENTIATING OBJECTS

• ASSITIVE PROPERTIES – OPTIONAL PROPERTIES LEARNT WHEN MANDATORY COULDN’T ABLE TO DIFFERENTIATE

Page 9: Qtp Slides

OBJECT RECOGNITION• ORDINAL IDENTIFIER – THIS IS USED

WHEN BOTH MANDATORY AND ASSITIVE COULDN’T HELP TO DIFFERENTIATE OBJECTS

• ORDINAL IDENTIFIER USES LOCATION INDICATOR AND INDEX INDICATOR TO DIFFERENTIATE OBJECTS

Page 10: Qtp Slides

OBJECT IDENTIFICATION

• OBJECT IDENTIFICATION IS ANOTHER COMPONENT IN QTP SIMILAR TO GUI CONFIGURATION IN WINRUNNER

• THIS IS USED TO CONFIGURE THE MANDATORY AND ASSITIVE PROPERTIES DEPENDING ON APPLICATION TO BE TESTED.

Page 11: Qtp Slides

OBJECT REPOSITORY• OBJECT REPOSITORY IS SIMILAR TO GUI

MAP FILE IN WINRUNNER• STORES THE PROPERTIES AND VALUE

OF THE OBJECTS LEARNT DURING RECORDING

• WHILE PLAYBACK OF SCRIPTS, QTP REFERS OBJECT REPOSITORY FOR IDENTIFYING THE OBJECTS

Page 12: Qtp Slides

OBJECT REPOSITORY• TWO TYPES – PER ACTION, SHARED

REPOSITORY• SHARED IS COMMONLY USED AS SAVES

TIME• LOAD”PATH OF REPORSITORY” IS

FUNCTION USED TO LOAD REPOSITORY RELATED FILES DURING RUNTIME

Page 13: Qtp Slides

WHAT ARE TYPES OF PROPERTIES?

• TEST OBJECT – PROPERTIES LEARNT BY QTP WHILE RECORDING THAT IS USED FOR MAPPING WITH ACTUAL OBJECTS

• RUNTIME – PROPERTIES OF ACTUAL OBJECT IN THE APPLICATION

Page 14: Qtp Slides

OBJECT SPY• OBJECT SPY IS A COMPONENT IN QTP

THAT HELPS TO LIST THE TEST OBJECT AND RUNTIME PROPERTIES OF THE GUI

• LISTS THE METHODS AND SYNTAX THAT COULD BE IMPLEMENTED ON THAT PARTICULAR OBJECT

• LISTS THE HEIRARCHY OF THE OBJECT IN THE AUT

Page 15: Qtp Slides

CHECK POINTS• STANDARD CHECK POINT – STANDARD

PROPERTIES OF GUI INCLUDES TABLES• BITMAP CHECK POINT – VERIFIES IMAGES AND

BITMAPS• TEXT CHECKPT – WORKS ONLY IN CERTAIN

APPLICATION, BEST TO USE STANDARD CHECK PT

• XML CHECK PT- USED TO VERIFY XML FILES• DATABASE CHECK PT – CUSTOM AND DEFAULT

CHECKS ON DATABASE

Page 16: Qtp Slides

CHECK POINTS• ACCESSIBILITY CHECK PT – USED

TO VERIFY WHETHER THE PAGE IN THE WEBSITE IS BUILD AS PER W3 CONSORTIUM STANDARD OR NOT

Page 17: Qtp Slides

SMART IDENTIFICATION• MAINLY USED FOR VERIFYING DYNAMIC

OBJECTS• THIS CAPTURES BASE FILTER AND

OPTIONAL FILTER PROPERTIES INORDER TO RECOGNIZE THE DYNAMIC OBJECTS

• CAN BE ENABLED THROUGH TOOLS > OBJECT IDENTIFICATION

Page 18: Qtp Slides

OUTPUT VALUES• OUTPUTS THE VALUE OF PROPERTIES

OF GUI DURING RUNTIME• CAN BE VIEWED IN RUNTIME

DATATABLE IN RESULTS WINDOW• MAINLY USED TO GET COLLECTION OF

PROPERTY VALUE OF DYNAMIC OBJECTS

Page 19: Qtp Slides

PARAMETRIZATION• PARAMETRIZATION - PASSING

MULTIPLE SET OF VALUES FOR TESTING

Page 20: Qtp Slides

HOW CAN WE PARAMETRIZE?

• IDENTIFY THE FIXED VALUE THAT NEEDS TO BE PARAMETRIZED

• REPLACE WITH PARAMETER• PASSING VALUE FROM DATA TABLE

Page 21: Qtp Slides

WHAT IS DATA TABLE• INBUILT XL SHEET IN QTP FOR PASSING

VALUES TO PARAMETERS IN RUNTIME• TWO SHEETS – GLOBAL AND ACTION• GLOBAL – DATAS ARE PASSED TO ALL

ACTIONS WITHIN THE SCRIPT• ACTION – DATAS ARE PASSED TO ONLY

PARTICULAR ACTION

Page 22: Qtp Slides

WAYS TO PARAMETRIZE..

• DATA TABLE PARAMETER – PASSING THROUGH DATA TABLE

• ACTION/COMPONENT PARAMETER – BY DECLARING INPUT AND OUTPUT PARAMETER IN ACTION PROPERTIES

• ENVIRONMENT PARAMETER – EXTERNAL HOST, URL, VUSER ETC…

• RANDOM PARAMETER – WITHIN NUMERIC RANGE

Page 23: Qtp Slides

Synchronization• Problem due to mismatch between tool

time and application time is sorted using synchronization

• Wait(seconds)• Exist – returns boolean value• Waitproperty(property, value, timeout)• Sync – waits until all objects are

downloaded in a webpage

Page 24: Qtp Slides

TYPES OF ACTIONS• REUSABLE ACTION – THAT CAN BE

CALLED TO ANY SCRIPT• NON REUSABLE – THAT CAN BE

CALLED TO ANY ACTION WITHIN THE SCRIPT AND ONLY ONCE

• EXTERNAL – REUSABLE ACTIONS BUT ARE READ ONLY

Page 25: Qtp Slides

CALLING ACTION• INSERT CALL TO EXISITING ACTION –

CALLS A REUSABLE ACTION, BUT ANY CHANGES WILL BE REFLECTED ON ORIGINAL CALLED ACTION

• INSERT CALL TO COPY OF ACTION – CALLS A REUSABLE ACTION, BUT CHANGES ARE NOT REFLECTED ON ORIGINAL CALLED ACTION

Page 26: Qtp Slides

TRANSACTIONS• TRANSACTIONS ARE NOTHING BUT

TIMER FOR MEASURING TIME TAKEN FOR EXECUTING PARTICULAR TASK

• SERVICES.START TRANSACTION “T1”• SERVICES.END TRANSACTION “T1”• CAN BE USED ANY NUMBER OF TIMES

Page 27: Qtp Slides

DEBUGGING• DEBUGGING – FINDING ERRORS IN THE

SCRIPT• BREAKPOINTS – POINT WE CREATE IN THE

SCRIPT WHERE THE EXCUTION OF SCRIPT IS PAUSED

• WATCHLIST – MAINLY FOR BETTER DEBUGGING. USED TO VIEW THE VALUES OF THE PARAMETERS/VARIABLES DURING RUNTIME

Page 28: Qtp Slides

HOW TO HANDLE CUSTOM OBJECTS???

• SOLUTION IS VIRTUAL OBJECT WIZARD

• THIS HELPS TO MAP THE CUSTOM OBJECT WITH THE STANDARD GUIS. HENCE WHILE RECORDING QTP RECOGNIZES EVEN THESE NON STANDARD OBJECTS

Page 29: Qtp Slides

HANDLE THE CHANGING WINDOWS/ OBJECT

PROPERTIES??• THE SOLUTION IS “REGULAR

EXPRESSION”• REGULAR EXPRESSION IS AN

EXPRESSION THAT MAKES QTP TO RECOGNIZE THE OBJECTS THAT HAVE VARYING PROPERTY DURING RUNTIME

Page 30: Qtp Slides

REGULAR EXPRESSION• \ – SYMBOL TO INDICATE IT IS AN

REGULAR EXPRESSION• . – PERIOD MATCHES ONE CHARACTER !

WELCOME. CAN MATCH WELCOMES, WELCOMED

• * - MATCHES ANY NUMBER OF CHARACTER !W*-WHO, WE

• [] – TO INDICATE COLLECTION LIKE • !W[E3] – WE, W3

Page 31: Qtp Slides

REGULAR EXPRESSIONS

• - INDICATES RANGE LIKE [0-9] • ^ INDICATES EXCLUSION LIKE [^A-Z]

WILL NOT ACCEPT UPPER CASE ALPHABETS

• + indicates one or more occurrence of preceding character ca+r – car, caaar and not cr

• \w matches all characters except alphanumeric and underscore

Page 32: Qtp Slides

WHAT ARE EXCEPTIONS???

• EXCEPTIONS ARE NOTHING BUT UNEXPECTED ERRORS THAT CAUSES HINDERANCE DURING THE EXECUTION OF SCRIPTS

• COULD BE DUE TO POP UPS, OBJECT PROPERTY CHANGE, APPLICATION CRASH, TEST RUN

Page 33: Qtp Slides

HOW TO HANDLE EXCEPTION???

• SIMPLE USING RECOVERY SCENARIO MANAGER.

• RECOVERY SCENARIO MANAGER IS A WIZARD THAT GUIDES STEPS TO HANDLE EXCEPTIONS

Page 34: Qtp Slides

RECOVERY SCENARIO MANAGER

• THREE STEPS• TRIGGER EVENT – DEFINE THE

EXCEPTION• RECOVERY OPERATION – DEFINING

THE HANDLER FUNCTION• POST RECOVERY OPERATION.

Page 35: Qtp Slides

FUNCTION? PROCEDURE???

• FUNCTION CAN BE INBUILT OR USER DEFINED. IT IS ONE THAT RETURNS A VALUE

• PROCEDURE IS SIMILAR TO FUNCTION BUT DOESN’T RETURN VALUE

Page 36: Qtp Slides

SOME IMPORTANT FUNCTIONS -

SetTOProperty

• SETTOPROPERTY()• PROPERTYNAME, VALUE• DIALOG(“Login”).WinEdit(“Userna

me”).SETTOPROPERTY(“Enabled”,”True”)

Page 37: Qtp Slides

GETTOPROPERTY()• GetTOProperty( propertyname)• Returns the value of the property• Example,• A =

Dialog(“Login”).Winbutton(“OK”).GetTOProperty(“Enabled”)

Page 38: Qtp Slides

GETTOPROPERTIES( )• GetTOProperties()• Lists all the properties and

property values of particular object

Page 39: Qtp Slides

GetROProperty()• GetROProperty(Propertyname)• Returns the runtime property of

the particular object• Dim a • A =

dialog(“login”).Winbutton(“OK”).GETROPROPERTY(“nativeclass”)

Page 40: Qtp Slides

Can we connect database through

QTP???• Answer is yes not through wizard but

through scripting• Set a =

createobject(“ADODB.connection”)• A.open”DSN = Employee.mdb,

Username = xxx, Password = xxxx”• Set b =

createobject(“ADODB.RecordSet”)• B.open”Select * from table1”,a• Msgbox b.recordcount

Page 41: Qtp Slides

File handling• Using QTP it is possible to pass datas from

various files and write data into file• Example to read data from a file• Set a =

createobject(“Scripting.FileSystemObject”)• Set b = a.opentextfile(“path”,0/1/8,”true”)• Str = b.readline• 0 – write mode 1- read mode 8 – append• True/false – file exist or create new

Page 42: Qtp Slides

ChildObjects()• This function is used to return the

list of all objects within the window• Example to count no of objects

within dialog• Set c =

dialog(“Login”).childobjects()• Msgbox c.count

Page 43: Qtp Slides

POPUP()• POPUP(“MSG”,WAIT TIME,

“TITLE”,BUTTON)• EXAMPLE • SET A =

POPUP(“HI”,10,”GREETING”,4)• A WILL BE RETUNED VALUE 6(YES)

AND 7(NO)

Page 44: Qtp Slides

MAXIMIZE WINDOW• MAXIMIZE IS KEYWORD FOR

MAXIMIZING WINDOW/DIALOG• FULLSCREEN IS THE KEYWORD

FOR MAXIMIZING THE BROWSER

Page 45: Qtp Slides

DATATYPE CONVERSION

• CINT() – CONVERTS VAR TO INTEGER

• CLNG() – CONVERTS CURRENCY TO INTEGER

• CCUR()- CONVERTS TO CURRENCY FORMAT

Page 46: Qtp Slides

IS IT POSSIBLE TO OPEN APPLICATION THROUGH

SCRIPTING???• YES!!!• SYSTEMUTIL.RUN “PATH” FOR

OPENING ANY APPLN• INVOKE “PATH” FOR EXE

APPLICATION• EXECUTE “PATH”

Page 47: Qtp Slides

USER DEFINED FUNCTION

• FUNCTIONS THAT ARE REPEATED FOR MANY TIMES • EXAMPLE • PUBLIC FUNCTION SUM(X, Y, Z)• Z = X+Y• END FUNCTION• DIM A, B, C• A = INPUTBOX (“ENTER A”)• B = INPUTBOX(“ENTER B”)• SUM (A,B,C)• MSGBOX C

Page 48: Qtp Slides

FRAMEWORKS• FRAMEWORKS ARE SET OF

DEFINED RULES FOR AUTOMATING A TESTING PROCESS

• IT COULD BE SAID AS AUTOMATION TEST APPROACH

Page 49: Qtp Slides

FRAMEWORKS• LINEAR FRAMEWORK – RECORDING,

ENHANCEMENT , PLAYBACK• HERE U CREATE SCENARIOS, DO

RECORDING BASED ON SCENARIOS, ENHANCEMENT IS DONE FOR VERIFICATIONS, AND PLAYBACK FOR EXECUTION

Page 50: Qtp Slides

FRAMEWORK• DATA DRIVEN – HERE AN

EXTERNAL DATABASE IS MAINTANINED FOR PASSING VALUES TO THE ACTIONS IN QTP

• VALUES ARE COMPLETELY PASSED ONLY THRO THIS DATA SETS

Page 51: Qtp Slides

FRAMEWORK• KEYWORD DRIVEN – USING THE

MANULLY ENTERED TABLE THAT DEFINES TESTOBJECT, OPERATION, DATA AND DESCRIPTION, VB SCRIPTS ARE AUTOMATICALLY GENERATED BY QTP

Page 52: Qtp Slides

FRAMEWORK• DESCRIPTIVE PROGRAMMING – IT IS A

CONCEPT OF EXECUTION OF SCRIPTS WITHOUT THE REFERENCE OF OBJECT REPOSITORY

• DIALOG(“CLASS = DIALOG”,”CAPTION = Login”).Winbutton(“class = Button”,”Text = OK”).Click

Page 53: Qtp Slides

FRAMEWORKS• FUNCTIONAL/MODULAR – HERE

THE ACTIONS ARE DECLARED AS USER DEFINED FUNCTIONS

• THESE FUNCTIONS ARE CALLED WHEREVER NEEDED.

Page 54: Qtp Slides

FRAMEWORK• HYBRID FRAMEWORK – MIX OF

ANY OF THE ABOVE FRAME WORKS ARE CLASSED AS HYBRID.

• DEPENDING ON COMPLEXITY OF THE APPLICATION, MIXES ARE CHOSEN.