280 likes | 716 Views
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. OR Pros and Cons. PROS:GUI Front end to examine all the objects in the repositoryHighlight in Application feature is great tool to walk the object treeNo need to modify the script when object properties changesEasy to identify objects in AUT by Object Logical namesCan be created independently from scripts.
E N D
1. QTP: Object Repository, Descriptive Programming and Beyond Prepared by: Igor Gershovich
2. 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
3. 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
4. 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
5. DP Pros and Cons PROS:
It’s a white box
Compatible with different QTP versions
Code portability is high
Easy to mass update
6. 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
7. 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
8. Object Repository
9. OR: Object identification default properties
10. 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
11. Script playback using Descriptive programming QTP searches the Application Under Test (AUT) for the Object using Descriptive properties and performs user action
12. 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
13. Different ways to work with objects
14. Different ways to work with objects
15. ChildObjects method – using Collection Object
16. ChildObjects method – using Collection Object
17. 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
18. Better names for Object Spy radio-buttons
19. Object Run-Time Properties from AUT (GetRoProperty)
20. Run-Time “Native” Object Properties/Methods from AUT (.Object)
21. Test Object Properties from ORSet/GetToProperty
22. Regular Expressions in ORExample: Server independent Page object
23. Regular Expressions in OR
24. Regular Expressions in OR
25. 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)
26. Smart Identification (SI) Recording Options
27. Smart Identification (SI) Run Option
28. Resources QA Forums – www.sqaforums.com
HP/Mercury QTP User guide
Knowledge inbox (by Tarun Lalwani) - http://www.knowledgeinbox.com/
Microsoft TechNet - http://www.microsoft.com/technet/scriptcenter/
29. Igor Gershovich E-Mail: igershovich@connectedtesting.com
Phone: 720-933-9395
www.connectedtesting.com