Object Repository

Object Repository:

♦  Object Repository(OR) stores the objects information in QTP.Object repository acts as a interface between the Test script
    and AUT in order to identify the objects during execution.

♦  QuickTest has two types of object repositories for storing object information:

 1. Shared object repository
 2. Local object Repository


Shared Object Repository:

A Shared Object Repository(SOR) stores objects information in a file that can be accessed by multiple Test.Extension of file name is .tsr,This is the most familiar and efficient way to save objects.

Local Object Repository:

Local Object Repository stores objects information in a file that is associated with one specific action, so that only that action can access the stored objects.Extension of file name is .mtr. 


Example:  

'Username="qtpworld.com"
'Password="qtp" 
 
'***********************************Login to gmail account  using  Object Repository ***********************************
 
'Launch gmail
systemutil.Run "iexplore.exe","http:\\www.gmail.com"
 
'wait til browser Loads
Browser("Gmail: Email from Google").Page("Gmail: Email from Google").Sync
 
' Enter  Email id in Username Field
Browser("Gmail: Email from Google").Page("Gmail: Email from Google").WebEdit("Email").Set  "qtpworld.com"
 
'Enter password in Passowrd Field
Browser("Gmail: Email from Google").Page("Gmail: Email from Google").WebEdit("Passwd").Set  "qtp"
 
'Cick on the Sign In Button 
Browser("Gmail: Email from Google").Page("Gmail: Email from Google").WebButton("Sign in").Click

 
Object Identification in QTP

Object identification is used for uniquely identifying the objects there are two types of object identifications:

1. Normal identification

    a. Mandatory properties
    b. Assistive properties

2.
Smart identification

 

  a. Base Filter properties
  b. Optional Filter Properties

Apart from the above Properties there is ordinal identifier property also

In Ordinal Identifier it will consider 3 properties:

1. Creation Time
2. Index
3. Location


Description of identifying the objects in QTP:

QTP will learn the information in the following way:

First of all QTP will learn all the specified mandatory properties and then think whether these properties are sufficient to identify the object uniquely. If it feels sufficient it will stop learning. Otherwise it will learn the 1st assistive property. Then once again think whether all the properties are sufficient for identifying the object uniquely. If at all it feels sufficient it will stop learning otherwise it will learn the 2nd assistive property and then think again whether all these properties are sufficient for identifying the object uniquely. This process continues till the QTP get satisfied or up to the end of the assistive properties list.

If still QTP feels not satisfied then finally it will learn the ordinal identifier. All the properties learnt during this process will be stored in the object repository.

If at all the smart identification option is selected then the QTP will learn the base filter properties, optional filter properties along with the mandatory properties and stores the base filter properties and optional filter properties separately and secretly and then continues with the same procedure as above.

Smart Identification:

Smart Identification is a mechanism provided by QTP, which is used for identifying the objects even though some properties are dynamically changed.

Ordinal Identifiers:

There are 3 types of ordinal identifiers.

1. Location
2. Index
3. Creation Time

Location:

If at all the Location is selected as an ordinal identifier then the QTP will generate the sequence of numbers from 0,1,2,…
based on the sequence of the objects located in the application.

Index:

If at all the index is selected as an ordinal identifier then the QTP will generate the sequence of numbers from 0,1,2,…
based on the sequence of the programs of the corresponding objects.

Creation time:

If at all the creation time is selected as an ordinal identifier then the QTP will generate the sequence of numbers from
0,1,2,..


Difference between Test Object and Runtime Object

Test Object:

Is an object that QuickTest creates in the test to represent the actual object in the application.QTP stores information
about the object that will help to identify and check the object during the test run.

Runtime Object:

Is an actual object in the application on which methods are performed during the test run.