Thursday, May 12, 2011

Object Repository

Object Repository: It is a storage place of QTP where objects information can be stored and it also acts as interface between the Test script and the AUT in order to identify the objects during execution.

Object: Object is something, which has structure and properties.

Software objects: We call Windows, Web Pages, Buttons, Edit boxes, Check boxes etc.. as software objects.

Types of Object in QTP: There are four types of object available in QTP.

1. Run time objects
2. Test objects
3. Utility objects
4. Automation objects/User defined objects.

Run time objects: The objects present in the AUT. Ex: Buttons, Links, etc…

Test Objects: References of Run time objects. Ex: WinEdit, WinButton, WebButton, Link, etc…

Test objects names vary from one environment to another.

Utility objects

They are QTP reserved objects used for Testing and Result reporting.

1. SystemUtil for launching/closing the application.
2. Reporter for defining results.
3. Services for inserting transaction points
4. Environment for using environment variables

Automation objects/User defined objects

User can create objects; those can be used for performing specific operations. Ex: Creating objects in filesystemobject class, adodb.connection class, dictionary object class, Excel. Application class etc.

There are two types of repository available in QTP.

1. Local repository (.MTR extension)
2. Shared repository(.TSR extension)

Local Repository:QTP creates a Local Repository for every Action automatically during Recording. That cannot be shared among tests.

User can add some more objects to Local repository

User can perform rename, delete operations on local repository. As it is QTP internal file user no need to save modifications.

Shared Repository: User (Test Engineer) creates the Shared Repository by adding objects. That can be shared among number of tests.

Using this method user can perform modifications on objects easily.

Operations on Object Repository

Adding objects
a. Local Repository:

Navigation: open Local Repository (Resource Menu > Object Repository)

objects>Add objects to Local> Show the Object>Click Ok

(No need to save separately, it saves automatically)

B. Shared Repository:
Navigation: Resource menu>object repository manager>object>Add objects>show the window/object>click ok

o Selected object only
o Default object types
o All objects types
o Selected object types

(If we select first option it stores Selected objects only, if we select second option it stores all default objects, if we select third option it stores All objects including static objects, if we select fourth option, we have to select object classes then it stores that class objects, we can select more than one class also.)

Renaming Objects

a. Local Repository:

Resources > object repository >select object and right click >choose rename option >modify the name>release the mouse.>close repository

b. Shared Repository:

Resources >object repository manager>file>open>browse path of the repository file >file>enable editing>select object &Right click>choose rename option>modify the name > release mouse>save the file & close repository manager.

Deleting Objects

a. Local Repository:

Resources > object repository >select object and right click >choose delete option >confirm deletion>. >close repository

b. Shared Repository:

Resources >object repository manager>file>open>browse path of the repository file >file>enable editing>select object &Right click>choose delete option>confirm the deletion >save the file & close repository manager.

Associating Object Repositories to an Action/Test

Resources>Associate repositories>click add icon (+)>browse path of the repository>Associate with an action>click ok

Merging Repositories

Resources > object repository manager>tools>object repository merge tool >browse path of the first repository> browse path of the second repository>click ok>click close>save the merged repository>close the repository manager.

Note: After merging also, source repository files will be available, if we do not want source files we can delete.

Defining New Test Objects

Navigation: Object>Define new test object >Select Environment>Select Class of the object>Enter name of the object>Click Add>click close>Select object >select property name>enter value (like this select one by one properties and enter values)>save

Note: This feature can be used for preparing tests before the AUT is ready.

Spying Objects

For getting objects information, (Test objects names, property & Values) QTP is providing a feature called Object Spy, using this we can get objects information.

Navigation>Tools>object spy>take hand icon & Show the object>get information (Object Spy shows the specific objects all available properties with their values)

Note: As Object spy is an important feature, it can be available in 3 Areas.(1. In tools Menu 2. In local repository 3. In Repository manager)

View Options

Locate in Repository

This feature can be used for identifying objects from application to repository.

Navigation: View>Locate in repository >show the object>click Ok>it locates specified object in the repository.

Highlight in Application

This feature can be used for identifying objects from repository to application.

Navigation: Select object in the repository >view>highlight in application>it highlights specified objects in the application.

Exporting Repository to an XML file

We can export our repository file to an xml file.

Navigation: File >export Test objects to XML Enter the file name and Save with xml extension.

Importing Repository from XML file.

We can import XML file to our repository.

Navigation: File>import from XML >browse path of the XML file >it loads objects.

Note: The purpose of this feature is Editing objects information outside of the QTP

Navigation: Resource menu>object repository (Short cut key Ctrl+R)

No comments: