46
QTP 9.2 Material Prepared by Sriraman K

QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

Embed Size (px)

Citation preview

Page 1: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

QTP 9.2

Material Prepared by Sriraman K

Page 2: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

2

Objectives

• Automation – Need for automation, Rules of automation

• Exposure to the Automation Concepts and Kick start the learning of one of the leading tool QTP

Page 3: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

3

Need 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.

Page 4: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

4

Rules of Automation

Testing Tools are usually very expensive. The test manager or the test lead has tothink 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.

Page 5: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

5

Golden 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.

Page 6: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

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)

Page 7: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

7

Life Cycle Of Automation-

Analyze the Application

Select The Tool

Identify the session

Design/ Record Test Scripts

Run the test scripts

Finding & Reporting the defects

Page 8: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

8

Introduction 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 -> SAP, Seibel, People soft

• QTP Supports both Technical & Non Technical People• QTP run on only windows platform not supporting UNIX,

Linux etc

Page 9: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

9

Environment 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

Page 10: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

10

Add Ins of QTP -Technology supported by the QTPBy default three Add Ins are there in QTP• ActiveX• VB• WebAdditional Add ins:• Java• Oracle• People soft• .NET• Terminal Emulator (RTE)• SAP• Siebel• Delphi

Page 11: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

11

Window Structure of QTP -

1) Test Pane

2) Active Screen

3) Data Table

4) Debug Viewer

Page 12: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

12

Architecture 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)

Page 13: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

13

Course 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

Page 14: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

14

Object Spy-

Object spy is used to display or view all the physical properties and methods of an object.

Page 15: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

15

Object 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)

Page 16: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

16

Object 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

Page 17: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

17

Object Repository Dialog Box-

Page 18: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

18

Recording 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(<<objName>>).RunAnalog

“Track1”

– Low Level Recording – Understand the x and y coordinate of the within the object on which the action is performed. • Object(<<ObjName>>).Click (22,45)

Page 19: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

19

Record a Test

Page 20: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

20

Record & Run Settings-

Page 21: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

21

Run a Test and Save Results-

Page 22: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

22

View Test Results-

Page 23: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

23

Virtual 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”).Virtual Button(“RED”)

Window(“Paint”).Winobject(“colors”).Virtual Button(“BLUE”)

window(“Paint”).Close

Page 24: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

24

VB Scripting

• Msgbox()• Inputbox()• String manupulation

• Using Variables• Using Concatenation• Split ()• Instr()

• Loops – For loop, Do while, Select Case• Conditions – If then Else

Page 25: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

25

Parameters – 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

Page 26: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

26

Action 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

Page 27: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

27

Test Parameter &Environment

• Test Parameter– File->Setting->Parameter 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->Setting->Environment Tab– Build in and User defined parameters– To use the environment in other machines, use

export and import under environment parameter tab

Page 28: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

28

Setting the Parameter Value-

Page 29: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

29

Using Data Sheet (Global, Local & Location)-

Page 30: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

30

Multiple 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->Output Value->Standard Output value

Page 31: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

31

Reusable 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 “ActionName[ScriptName]”, One/Alliteration, Parameters(optional)

Page 32: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

32

Dynamic 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

Page 33: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

33

Regular 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

Page 34: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

34

Using a Regular Expression-

Page 35: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

35

Some Regular Expressions-

Expression Char Description

Period . Matches any single character

Asterisk * Matches zero to any number of occurrences of the preceding character

Plus + Matches one to any number of occurrences of the preceding character

Brackets [A-Z][a-z] Matches a range of characters

[0-9] Matches a range of numbers

\w Matches any alphanumeric character including underscore

\W Matches any non-alphanumeric character

Digit \d Matches any digit

\d{4} Matches exactly four digits

Page 36: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

36

Smart 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)

Page 37: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

37

Synchronization Point-

• Synchronization point maintains the time coordination between testing process and your application process.

• Types of Synchronization– Sync– Wait– WaitProperty– Exist

Page 38: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

38

Check 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

Page 39: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

39

Checkpoint Types

Page 40: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

40

Inserting a Checkpoint During Recording-

Page 41: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

41

Insert a Checkpoint After Recording-

Page 42: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

42

Identifying a Failed Checkpoint-

Page 43: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

43

Exception 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

Page 44: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

44

Comments & Queries-Comments & Queries-

Queries are always welcome.

Page 45: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

45

Your 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

Page 46: QTP 9.2 Material Prepared by Sriraman K. 2 Objectives Automation – Need for automation, Rules of automation Exposure to the Automation Concepts and Kick

46

Feedback-Feedback-

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 : [email protected]

Thanks & Happy Testing..Thanks & Happy Testing..