Skip to main content

QTP Object Repository

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

Comments

Popular posts from this blog

JMeter Exceeded Maximum Number of Redirects Error Solution

While running performance test, JMeter allows maximum 5 redirects by default. However, if your system demands more than 5 redirects, it may result in JMeter exceeded maximum number of redirects error. In this post, we have listed down steps to overcome this error. Actual error in JMeter: Response code: “Non HTTP response code: java.io.IOException” Response message: “Non HTTP response message: Exceeded maximum number of redirects: 5” This error is noticed because  JMeter  allows maximum 5 redirects by default and your system may be using more than 5 redirects. You need to increase this count to more than 5 in jmeter.properties file. Follow below steps to achieve this. Navigate to /bin directory of your JMeter installation. Locate jmeter.properties file and open it in any editor. Search for “httpsampler.max_redirects” property in opened file. Uncomment the above property by removing # before it. Change to value to more than 5 Eg. 20. Save the file and restart JMet...

SSO with SAML login scenario in JMeter

SAML(Security Assertion Markup Language) is increasingly being used to perform single sign-on(SSO) operations. As WikiPedia puts it, SAML is an XML-based open standard data format for exchanging authentication and authorization data between parties, in particular, between an identity provider and a service provider. With the rise in use of SAML in web applications, we may need to handle this in JMeter. This step-by-step tutorial shows SAML JMeter scenario to perform login operation. First request from JMeter is a GET request to fetch Login page. We need to fetch two values ‘SAMLRequest’ and ‘RelayState’ from the Login page response data. We can do this by using  Regular Expression Extractor . These two values need to be sent in POST request to service provider. Refer below image to see how to do this. We will get an HTML login page as a response to the request sent in 1st step. We need to fetch values of some hidden elements to pass it in the next request. We...

VBScript Code - Function to convert CSV file into excel and viceversa in QTP using VBScript

We at times are required to convert excel files into csv to read as flat files and sometime require to convert a csv file into excel file to use excel features on the data.   Below function shows how to convert an csv file into excel file and vice versa. We can also convert to other formats based on constants Here constant value 23 is used to create a csv file and constant -4143 to save a file as xls file. Once the destination file is created, we can delete the source file as shown below.  In case of any issue in understanding the code, please add in comment section Call func_ConversionCSVExcel("E:\Test.csv", "E:\Test_converted.xls", "csvtoexcel") Public Function func_ConversionCSVExcel(strSrcFile, strDestFile, Conversion) on error resume next Set objExcel = CreateObject("Excel.application") set objExcelBook = objExcel.Workbooks.Open(strSrcFile) objExcel.application.visible=false objExcel.application.displayalerts=...