QTP: Object Repository, Descriptive Programming and Beyond By Quontra Solutions
info@quontrasolutions.com
Object Repository vs. Descriptive Programming –what to use?
There really is no “best way” Use the method that gives your company the best ROI, whether that be Object Repository (OR), Descriptive Programming (DP) or a mixture of both
info@quontrasolutions.com
OR Pros and Cons PROS: GUI Front end to examine all the objects in the repository Highlight in Application feature is great tool to walk the object tree No need to modify the script when object properties changes Easy to identify objects in AUT by Object Logical names Can be created independently from scripts
OR Pros and Cons CONS: Additional layer to maintain Unnecessary objects can be created Multiple users cannot concurrently save/write to the shared OR It won’t eliminate the need for Descriptive Programming in most of cases
info@quontrasolutions.com
DP Pros and Cons PROS: It’s a white box Compatible with different QTP versions Code portability is high Easy to mass update
info@quontrasolutions.com
DP Pros and Cons CONS: Lower Code Readability and requires more comments, like “what object is accessed” Potentially slower to create To highlight an object in the application requires utilizing the “Highlight” method
info@quontrasolutions.com
What is Object Repository? ď Ž
ď Ž
Object Repository is a place where QTP stores learned objects QTP uses default Object Identification properties: mandatory and assistive to learn objects into OR
info@quontrasolutions.com
Object Repository
Logical Name Properties
info@quontrasolutions.com
OR: Object identification default properties
info@quontrasolutions.com
Script playback using OR
QTP finds the Object in Object Repository using object Logical Name and Object Hierarchy QTP retrieves Test Object properties from OR QTP searches actual application for the Object with the same properties as the OR Test Object and performs user action
info@quontrasolutions.com
Script playback using Descriptive programming ď Ž
QTP searches the Application Under Test (AUT) for the Object using Descriptive properties and performs user action
info@quontrasolutions.com
Descriptive programming – when and why? Consider using DP in following cases: Dynamic object properties Example: Link Logout <User Name> Same objects on every page Example: Buttons – Next, Back, Cancel, OK Lots of similar objects on one page Example: table with many First & Last name text boxes info@quontrasolutions.com
Different ways to work with objects
info@quontrasolutions.com
Different ways to work with objects Example for Passenger 1 First Name
info@quontrasolutions.com
ChildObjects method â&#x20AC;&#x201C; using Collection Object
info@quontrasolutions.com
ChildObjects method â&#x20AC;&#x201C; using Collection Object Last Name fields are populated
info@quontrasolutions.com
TO, RO and .Object
.GetTOproperty/SetToProperty refers to the properties stored in OR .GetROProperty property refers to the AUT Object property (Run-time) .Object.<property/method> refers to the AUT Object NATIVE properties/methods
info@quontrasolutions.com
Better names for Object Spy radio-buttons Run-Time NATIVE Object
Run-Time QTP (Test) Object
info@quontrasolutions.com
Object Run-Time Properties from AUT (GetRoProperty)
info@quontrasolutions.com
Run-Time “Native” Object Properties/Methods from AUT (.Object)
info@quontrasolutions.com
Test Object Properties from OR Set/GetToProperty
info@quontrasolutions.com
Regular Expressions in OR Example: Server independent Page object 1. Click on Property value to access RegEx
2. Click RegEx Icon
info@quontrasolutions.com
Regular Expressions in OR
Regular Expressions in OR
RegEx icon
info@quontrasolutions.com
Object Smart Identification
Smart Identification is not Artificial Intelligence SI uses loose/unreliable object recognition It’s recommended to disable SI for each and every page/window/control using the Tools>Object Identification dialog (Recording) Another way to disable SI: File -> Settings -> Run -> Check the "Disable Smart Identification during run session" check box (Run-Time) info@quontrasolutions.com
Smart Identification (SI) Recording Options SI Checkbox
info@quontrasolutions.com
Smart Identification (SI) Run Option
SI Checkbox
info@quontrasolutions.com
www.quontrasolutions.com
info@quontrasolutions.com
For More Details Contact us
Quontra Solutions Visit: http://www.quontrasolutions.com/ Email: info@quontrasolutions.com Call Now : US: +1 (404)-900-9988. UK: (20)-3734-1498.
info@quontrasolutions.com