SlideShare a Scribd company logo
DP 101 in 60 simple slides www.AdvancedQTP.com
What is DP? DP stands for  Descriptive Programming
But what  IS   DP? I t’s a cool way to work without QTP’s Object-Repository (OR)
Why would I want to do that?
Many reasons
You have to Functions & Recovery scenarios work with different actions Different actions = Different ORs
Do I know you? Can’t be sure…
You have to Can’t record certain objects Auto-hide panels Objects with changing hierarchies Nested inner-objects, Sub menus
Hold still, damnit! Even when you think you got it, all the properties turn out null
Simplicity Why kill a fly with an atom bomb? No need to use the OR for every one-time click button in the application
And, You can do VERY cool things with DP
OK, bring it on
First, we need to better understand the Object Repository What the OR is How does the OR work
I thought DP is all about NOT using the OR…
Well, yes, but under the hood, DP & the OR work the same way To understand the OR, is to understand DP
What is the OR?
A mysterious beast that records objects, in order to use them later
What is to record an object? Write down how to identify it
Who are you? = How can I identify you?
Identification is done with  properties  and  values
Who are you? = Your height = 400 Your title = “NotePad” You are visible (=True)
So, What IS the OR? Collections of properties & corresponding values Each collection represents an object No mysterious beast here
OK, So what IS DP? DP is a way for specifying the properties & values without using the OR interface No mysterious beast here, either
OK, I get it, there’s nothing more than properties and values Can we get on with it?
How do I  actually  use DP? There are two ways
1 Throw the properties and values straight into a command
It’s the good old syntax you know, except the string between the () is not the OR name.  It’s the property:=value identification string
That’s kinda restrictive What if I want to use multiple identification properties?
No problem: VBWindow(“height:=400”, “title:=New Document”).Maximize You can use as many properties as you like
All fine and well, but what if I want to use regular expressions?
No problem: VBWindow(“title:=.*Document.*”).Maximize ID strings are automatically interpreted as regular expressions
2 Throw the properties & values into a description object, and throw IT into the command
Here also, all the values are interpreted as regular expressions. To turn it off, use  oDesc(“Property1”).RegularExpression = False
Method 1 is faster, best used for one or two commands, tops
When you want to execute multiple commands on an object, method 2 is a better choice by far (allows one-time definitions, multiple uses)
You can use DP with OR VBWindow(“OR”).VBButton(“text:=OK”).Click Or  (when oDesc is a description object): VBWindow(“OR”).VBButton(oDesc).Click
But ,  you can only start from OR, and move to DP So this will not work: VBWindow(“title:=notgood”).VBButton(“clickme”).Click
And that’s about it You can use each of the methods (or combine them), and you’ll be able to use objects that are not in the OR
You said I could do really cool stuff with DP!
Right you are We’ll cover some of the more popular tricks and tips These examples are only the tip of the iceberg. Play with them and see the true power of DP
The power of the string DP is nothing more than simple strings We can do such interesting things with strings…
The power of the string Say we got an app with 4 checkboxes, check0, …, check4 We can set all of them with a nice simple loop:
The power of the string Very complex identification tasks can be done via strings manipulation Try different variations for yourself
Solving double objects When QTP finds two object which match the same description, it freezes This kinda sucks
?
DP has a magic property: “index”, which allows us to tell the double objects apart Index is a zero-based counter
All is well
Getting objects collections This feature is so cool, deserves a title on its own
THE  coolest thing you can do with DP, is to get a collection of all the objects that math an identification
I don’t know who you are, or how many are you, but I want to mark all of you!  Regular DP won’t help - Don’t know how to identify each checkbox
Object collections to the rescue! Step 1: define a description object
Object collections to the rescue! Step 2: get all matching objects
Object collections to the rescue! Step 3: Use the collection oChildren now holds a collection of all the checkboxes So the first checkbox is accessed by: oChildren(0)
What can we do with it? Anything we want
Example for common uses Mark all Checkboxes Mark all checkboxes with a certain property (even RO)
The possibilities are endless Randomly input fields Input only mandatory fields Zero maintenance (new fields are added automatically, blind to UI changes) Select object which match complex identification criteria (write custom if filters) The list goes on and on…
OK, this is indeed cool, but it only gets us the inner controls of a given window. Can we also get the application’s top level windows?
Sure
So, With DP we can work with no OR Sometimes we have to use it Other times it’s just more fun and useful DP also throws in a lot of extras that make it an inseparable part of good QTP automation Taste it, Experience it, Learn it, Use it, Love it It’s worth your while
And that was DP in 60 slides

More Related Content

Viewers also liked (20)

PPT
Hp Quick Test Professional
sunny.deb
 
PPT
QTP/UFT latest interview questions 2014
Computer Trainings Online
 
PPT
Automation Framework/QTP Framework
HeyDay Software Solutions
 
PDF
QTP Descriptive Programming Unplugged Book
Tarun Lalwani
 
DOC
Qtp
TestingGeeks
 
PPTX
Three horizons
Cody Clark
 
PPTX
Google Moonshots
Dr. Firdaus Khan
 
PDF
Opener to the three horizons for innovation
Agility Innovation Specialists
 
PPT
Three Horizons 18 Sept 2013 - Basic Introduction
Wendy Schultz
 
PPT
Sharpe and Hodgson 3H presentation
grahamiff
 
PPT
IFF Three Horizons Slides
grahamiff
 
PPT
Ppt Qtp
rosaleenm
 
PPTX
Open Source as an Element of Corporate Strategy: A Case Study at Samsung
All Things Open
 
PPT
Qtp Basics
mehramit
 
PDF
2014 Demand Metric Outlook Study: Highlights & Horizons
Demand Metric
 
PDF
DISC Personalty Assessments - Your Key to Professional Success
Howard Fox
 
PPTX
DISC Personality Test introduction
Cathy Yang
 
PPT
Effective Presentation Skills
Alaa Sadik
 
PPTX
02_Brand Consultancy_Luxury Strategy Case Studies Zara Supply Chain Managemen...
V i P Consulting Group - Brand Building, Exclusive Luxury Branding Strategy Lectures, Branding Events, Charity Branding
 
Hp Quick Test Professional
sunny.deb
 
QTP/UFT latest interview questions 2014
Computer Trainings Online
 
Automation Framework/QTP Framework
HeyDay Software Solutions
 
QTP Descriptive Programming Unplugged Book
Tarun Lalwani
 
Three horizons
Cody Clark
 
Google Moonshots
Dr. Firdaus Khan
 
Opener to the three horizons for innovation
Agility Innovation Specialists
 
Three Horizons 18 Sept 2013 - Basic Introduction
Wendy Schultz
 
Sharpe and Hodgson 3H presentation
grahamiff
 
IFF Three Horizons Slides
grahamiff
 
Ppt Qtp
rosaleenm
 
Open Source as an Element of Corporate Strategy: A Case Study at Samsung
All Things Open
 
Qtp Basics
mehramit
 
2014 Demand Metric Outlook Study: Highlights & Horizons
Demand Metric
 
DISC Personalty Assessments - Your Key to Professional Success
Howard Fox
 
DISC Personality Test introduction
Cathy Yang
 
Effective Presentation Skills
Alaa Sadik
 
02_Brand Consultancy_Luxury Strategy Case Studies Zara Supply Chain Managemen...
V i P Consulting Group - Brand Building, Exclusive Luxury Branding Strategy Lectures, Branding Events, Charity Branding
 

Similar to QTP Descriptive Programming (18)

PPTX
Qtp training session IV
Aisha Mazhar
 
DOCX
descriptive programming
Anand Dhana
 
PPT
Booa8 Slide 02
oswchavez
 
PDF
A Hand Book of Visual Basic 6.0.pdf.pdf
Ann Wera
 
PDF
vb.net.pdf
VimalSangar1
 
PPTX
SE-IT JAVA LAB OOP CONCEPT
nikshaikh786
 
PDF
Oop concepts classes_objects
William Olivier
 
PPTX
Chapter 1 Concepts for Object-oriented Databases.pptx
haymanottaddess2015m
 
PDF
C++ chapter 1
jasvinder162
 
PPTX
Unit 1 introduction to visual basic programming
Abha Damani
 
PPT
Overview of Object-Oriented Concepts Characteristics by vikas jagtap
Vikas Jagtap
 
PDF
Maxbox starter19
Max Kleiner
 
PDF
X++ advanced course
Alvin You
 
PDF
Lotusphere 2007 BP301 Advanced Object Oriented Programming for LotusScript
Bill Buchan
 
PDF
Oracle forms developer 10g vol1
abdull466
 
PPTX
Technology and Livelihood Education IV
Kenneth Osabal
 
PPTX
Chapter 04 object oriented programming
Praveen M Jigajinni
 
PPTX
Objects and classes in Visual Basic
Sangeetha Sg
 
Qtp training session IV
Aisha Mazhar
 
descriptive programming
Anand Dhana
 
Booa8 Slide 02
oswchavez
 
A Hand Book of Visual Basic 6.0.pdf.pdf
Ann Wera
 
vb.net.pdf
VimalSangar1
 
SE-IT JAVA LAB OOP CONCEPT
nikshaikh786
 
Oop concepts classes_objects
William Olivier
 
Chapter 1 Concepts for Object-oriented Databases.pptx
haymanottaddess2015m
 
C++ chapter 1
jasvinder162
 
Unit 1 introduction to visual basic programming
Abha Damani
 
Overview of Object-Oriented Concepts Characteristics by vikas jagtap
Vikas Jagtap
 
Maxbox starter19
Max Kleiner
 
X++ advanced course
Alvin You
 
Lotusphere 2007 BP301 Advanced Object Oriented Programming for LotusScript
Bill Buchan
 
Oracle forms developer 10g vol1
abdull466
 
Technology and Livelihood Education IV
Kenneth Osabal
 
Chapter 04 object oriented programming
Praveen M Jigajinni
 
Objects and classes in Visual Basic
Sangeetha Sg
 
Ad

Recently uploaded (20)

PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
ICONIQ State of AI Report 2025 - The Builder's Playbook
Razin Mustafiz
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
PDF
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PDF
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
PPTX
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
🚀 Let’s Build Our First Slack Workflow! 🔧.pdf
SanjeetMishra29
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
Staying Human in a Machine- Accelerated World
Catalin Jora
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
ICONIQ State of AI Report 2025 - The Builder's Playbook
Razin Mustafiz
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
🚀 Let’s Build Our First Slack Workflow! 🔧.pdf
SanjeetMishra29
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
Staying Human in a Machine- Accelerated World
Catalin Jora
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
Ad

QTP Descriptive Programming

  • 1. DP 101 in 60 simple slides www.AdvancedQTP.com
  • 2. What is DP? DP stands for Descriptive Programming
  • 3. But what IS DP? I t’s a cool way to work without QTP’s Object-Repository (OR)
  • 4. Why would I want to do that?
  • 6. You have to Functions & Recovery scenarios work with different actions Different actions = Different ORs
  • 7. Do I know you? Can’t be sure…
  • 8. You have to Can’t record certain objects Auto-hide panels Objects with changing hierarchies Nested inner-objects, Sub menus
  • 9. Hold still, damnit! Even when you think you got it, all the properties turn out null
  • 10. Simplicity Why kill a fly with an atom bomb? No need to use the OR for every one-time click button in the application
  • 11. And, You can do VERY cool things with DP
  • 13. First, we need to better understand the Object Repository What the OR is How does the OR work
  • 14. I thought DP is all about NOT using the OR…
  • 15. Well, yes, but under the hood, DP & the OR work the same way To understand the OR, is to understand DP
  • 16. What is the OR?
  • 17. A mysterious beast that records objects, in order to use them later
  • 18. What is to record an object? Write down how to identify it
  • 19. Who are you? = How can I identify you?
  • 20. Identification is done with properties and values
  • 21. Who are you? = Your height = 400 Your title = “NotePad” You are visible (=True)
  • 22. So, What IS the OR? Collections of properties & corresponding values Each collection represents an object No mysterious beast here
  • 23. OK, So what IS DP? DP is a way for specifying the properties & values without using the OR interface No mysterious beast here, either
  • 24. OK, I get it, there’s nothing more than properties and values Can we get on with it?
  • 25. How do I actually use DP? There are two ways
  • 26. 1 Throw the properties and values straight into a command
  • 27. It’s the good old syntax you know, except the string between the () is not the OR name. It’s the property:=value identification string
  • 28. That’s kinda restrictive What if I want to use multiple identification properties?
  • 29. No problem: VBWindow(“height:=400”, “title:=New Document”).Maximize You can use as many properties as you like
  • 30. All fine and well, but what if I want to use regular expressions?
  • 31. No problem: VBWindow(“title:=.*Document.*”).Maximize ID strings are automatically interpreted as regular expressions
  • 32. 2 Throw the properties & values into a description object, and throw IT into the command
  • 33. Here also, all the values are interpreted as regular expressions. To turn it off, use oDesc(“Property1”).RegularExpression = False
  • 34. Method 1 is faster, best used for one or two commands, tops
  • 35. When you want to execute multiple commands on an object, method 2 is a better choice by far (allows one-time definitions, multiple uses)
  • 36. You can use DP with OR VBWindow(“OR”).VBButton(“text:=OK”).Click Or (when oDesc is a description object): VBWindow(“OR”).VBButton(oDesc).Click
  • 37. But , you can only start from OR, and move to DP So this will not work: VBWindow(“title:=notgood”).VBButton(“clickme”).Click
  • 38. And that’s about it You can use each of the methods (or combine them), and you’ll be able to use objects that are not in the OR
  • 39. You said I could do really cool stuff with DP!
  • 40. Right you are We’ll cover some of the more popular tricks and tips These examples are only the tip of the iceberg. Play with them and see the true power of DP
  • 41. The power of the string DP is nothing more than simple strings We can do such interesting things with strings…
  • 42. The power of the string Say we got an app with 4 checkboxes, check0, …, check4 We can set all of them with a nice simple loop:
  • 43. The power of the string Very complex identification tasks can be done via strings manipulation Try different variations for yourself
  • 44. Solving double objects When QTP finds two object which match the same description, it freezes This kinda sucks
  • 45. ?
  • 46. DP has a magic property: “index”, which allows us to tell the double objects apart Index is a zero-based counter
  • 48. Getting objects collections This feature is so cool, deserves a title on its own
  • 49. THE coolest thing you can do with DP, is to get a collection of all the objects that math an identification
  • 50. I don’t know who you are, or how many are you, but I want to mark all of you! Regular DP won’t help - Don’t know how to identify each checkbox
  • 51. Object collections to the rescue! Step 1: define a description object
  • 52. Object collections to the rescue! Step 2: get all matching objects
  • 53. Object collections to the rescue! Step 3: Use the collection oChildren now holds a collection of all the checkboxes So the first checkbox is accessed by: oChildren(0)
  • 54. What can we do with it? Anything we want
  • 55. Example for common uses Mark all Checkboxes Mark all checkboxes with a certain property (even RO)
  • 56. The possibilities are endless Randomly input fields Input only mandatory fields Zero maintenance (new fields are added automatically, blind to UI changes) Select object which match complex identification criteria (write custom if filters) The list goes on and on…
  • 57. OK, this is indeed cool, but it only gets us the inner controls of a given window. Can we also get the application’s top level windows?
  • 58. Sure
  • 59. So, With DP we can work with no OR Sometimes we have to use it Other times it’s just more fun and useful DP also throws in a lot of extras that make it an inseparable part of good QTP automation Taste it, Experience it, Learn it, Use it, Love it It’s worth your while
  • 60. And that was DP in 60 slides