Hello Friends,
In this series of post, we'll learn in detail how to use Descriptive programming (DP) in QTP.
Before starting DP, let's understand the basics about object identification. There are two ways, QTP uses to recognize the objects present in your application.
1. Object Repository (OR)
2. Descriptive Programming (DP)
2. Descriptive Programming (DP)
What is Object Repository (OR)?
OR is the simple and default way of object identification in QTP. Object Repository is a storage place of QTP, where properties and values of every object are stored. While you record on application, all the objects you click/interact, are stored in Object Repository.
During the play back QTP use this OR to identify the object on which the action is to be performed.
What is Descriptive programming (DP)?
We'll use DP when we want to bypass OR. Descriptive programming is used when we want to perform an operation on an object that is not stored in the object repository. This way QTP won’t search for the object properties in the Object Repository, but will take it from the DP statement of your code.
Why use Descriptive programming (DP)?
Everything looks fine while automating test using OR, then why should I use DP?
Well, there might be many valid reason to do so. Think about a situation - you want to close all opened browser automatically before you start executing your script. Here OR will not help you to identify an object as it is not possible to store all the opened browser objects into OR. Make sense?
I am not very good in vbscript. Is it mandatory to learn vbscript explicitly to write DP?
No. Not at all! Its not mandatory, but yeah.. recommended. For basic operations and starting with DP, this post will guide you.
Although, for advanced operations i.e. using COM, AOM, complex frameworks etc. vbscript knowledge is the key.
Okie guys! Now, let's start writing DP!
Types of Descriptive Programming (DP):
DP can be written in two ways..
1. Static (by provide the set of properties and values directly)
2. Dynamic (by creating description object)
Static:
- In Static method of DP, we provide the set of properties and values directly in a single line, in form of the string arguments.
object's Class Name("property name:=property value")
Exmp 1: webbutton(“Name:=Google Search”)
object's Class Name = webbutton
property name = Name
property value = Google Search
Exmp 2:- Browser(“google”).page(“google”).webbutton(“name:=Google Search”,”type:= Submit”).click
In above statement, Browser(“google”) and page(“google”) are written using OR. And webbutton(“name:=Google Search”,”type:= Submit”) is written using DP.
Please note that we can write multiple set of properties and values in any DP statement.
Examples:
webbutton(“name:=Google Search”).click
webbutton(“name:=Google Search”,”type:= Submit”).click
webbutton(“name:=Google Search”,”type:= Submit”,"x:=301").click
TIP: A statement can be written by combining OR and DP approach, but OR can be used only before DP. once you use DP, you can't write OR after it.
Above statement is correct because DP(webbutton(“name:=Google Search”,”type:= Submit”)) is written only after OR(Browser(“google”).page(“google”)).
Incorrect: Browser(“name:=google”).page(“title:=google”).webbutton("Google Search").click
Above statement is incorrect because DP (Browser(“name:=google”)) is used before OR.
We can get the all properties and values of object using Object Spy.
Okie!! Let me add one more point here. You can use variable also in Descriptive Programming (DP)!! Here we go...
Dim var_name
var_name = "Google Search"
webbutton(“name:=” & var_name).click
Key Points:
- Object Repository (OR) and Descriptive Programming (DP) are two ways, QTP uses to recognize the objects.
- These two ways are also known as Object Identification techniques.
- Descriptive Programming (DP) can be done in two ways - Static and Dynamic.
- A statement can be a combination of both OR and DP approach
- OR approach can be used only before DP. once you use DP in a statement, you can't write OR after it.
- Properties and values of object for DP are captured using Object Spy.
- Variable also can be used for property values in DP.
In next part of post, we'll discuss another type of DP - Dynamic.
In case of any queries, please post your comments.
This section was really useful.
ReplyDeleteGreat Article
DeleteProjects for ECE Final Year Students Final Year Project Centers in Chennai
@Anonymous
ReplyDeleteThanks. Keep reading the good stuff!
Very Nice brief article about OR and DP.I wish you had provide some examples on DP's description object too...
ReplyDeleteRegards
Pankaj
@Pankaj
ReplyDeleteplz check all parts of the post and if still you have any question, plz let me know :)
Descriptive Programming - Part 1
Descriptive Programming - Part 2
Descriptive Programming - Part 3
Descriptive Programming - Part 4
Hi AbhiKansh Jain,can u give examlpes for Webtables in QTP
ReplyDeleteWhich is best way to write script.ether DP or in OR?
ReplyDeletegenerally mixed approach is most fruitful...
ReplyDeleteHello Abhikansh,
ReplyDeleteYou are doing a great job... Keep doing...!!
The reason why I choose DP is because I am so fed up with OR and doing 'existing call'.
ReplyDeleteI dont dont understand after the "page" part, the number just keep on increasing.
Ex.: Browser(“google”).page(“google_2”).
That is why I choose DP. But how far can I go with DP?
Hi Abhishek,
ReplyDeleteI have one question here......
Can you please let me know that how to recognize menu options in descriptive programming in qtp.
Can you please let me know how to write DP for below mentioned example i.e.
Window("Flight Reservation").WinMenu("Menu").Select "File;New Order"
Window("Flight Reservation").WinMenu("Menu").Select "Analysis;Reports..."
Thanks... Nice Info
ReplyDeleteAwesome :)
ReplyDeletethis is ramanjaneyulu from hyd i know the qtp and manual and db but how to prepare the resumes, how to attended the intertives if don't main pls help me this is my mail id ramanjaneyulu08@gmail.com
Deletehi,
ReplyDeleteCan u tell any ecommerce project so that i can practice....
this is ramanjaneyulu from hyd i know the qtp and manual and db but how to prepare the resumes, how to attended the intertives if don't main pls help me this is my mail id ramanjaneyulu08@gmail.com
Deletevery nice
ReplyDelete@ramanjaneyulu
ReplyDeleteRegarding resume, i'll say..
- Write only what you know
- whatever you write, you must know :)
Abhi,
ReplyDeleteGreat Post, I have been using QTP for over 6 years but havent seen such a brief intro for OR and DP.
Thanks keep writing.
thanks all!
ReplyDeleteExcellent Post. Also visit http://whiteboxqa.com/selenium.php#qtp.php
ReplyDeleteExcellent Post. Also visit http://www.whiteboxqa.com/#qtp.php
ReplyDeleteThat was awesome tutorial. Thanks again.
ReplyDeletecool post
ReplyDeleteYou have done a good job, keep it up Bro....
ReplyDeleteDo we need to do any setup before executing the below code?
ReplyDeleteDim var_name
var_name = "Google Search"
webbutton(“name:=” & var_name).click
Note: I'm getting error while running this code,So kindly suggest
This comment has been removed by the author.
ReplyDeleteIt is very useful tips.
ReplyDeleteMobile Training in Chennai |Android Training in Chennai | ios Training in Chennai
ReplyDeleteThanks For Your valuable posting, it was very informative
Internet Marketing Dienstleistungen
Your website content nice nice and interesting to observe.
ReplyDeletejobbörse Neunkirchen
really good
ReplyDeletejobbörse südwestfalen
Nice post keep do posting The Info was too good, for more information regarding the technology Click
ReplyDeleteAmazon web Services Training
Salesforce certification Training program
Best Salesforce Training in India
The blog which you have shared is very much useful to us. Thanks for your sharing this information.
ReplyDeleteSAS Training in Chennai
SAS Course in Chennai
SAS Training Institutes in Chennai
SAS Institute in Chennai
Thanks for sharing the post. Kanhasoft is the Django Application Development Company in India and USA. We are developing enterprise solutions to boost business. Visit our site to know more.
ReplyDeleteThanks for good post. Nice content from your blog. Keep updating. Best Play School in Velachery
ReplyDeleteThanks for Sharing a Very Nice Post
ReplyDeleteAutoCAD Training Institute in Delhi
AutoCAD Training Institute in Noida
AutoCAD Training Institute in Gurgaon
Home buying mistakes costs the investors more. Thanks for sharing an informative post. This helps me to rectify the mistakes when buying a home.
ReplyDeleteProperties in Chennai
Flats for sale in Vadapalani
Builders in Chennai
Good Post! Thank you so much for sharing this pretty post, it was so good to read and useful to improve my knowledge as updated one, keep blogging.
ReplyDeletemsbi online training
nice post..
ReplyDeleteAbacus Classes in kozhikodu
vedic maths training kozhikodu
Abacus Classes in porur
vedic maths training porur
I m Really looking forward to read more. Your site is very helpful for us .. This is one of the awesome post i got the best information through your site and Visit also this site
ReplyDeleteBlack satta king
disawar satta king
gaziabad satta king
faridabad satta king
gali satta king
nice Post! Thankx for sharing this post, it was so good to read and useful to improve my knowledge as updated one, keep blogging.
ReplyDeleteDigital Marketing Course in Delhi
Coupondunia
best matrimonial site
redbus ticket online booking
This comment has been removed by the author.
ReplyDeleteIf you are the kind of programmer, that code just for fun, then you should definitely get you a copy of the A+ programming language, so that you can easily start to program.List of ruby on rails IDE
ReplyDeleteIn this way, a little occurrence like figuring out how to stroll to getting a degree in reasoning, both go under the expansive umbrella of instruction. Instruction is what shows us certainties and realities of life the same.
ReplyDeletelearn to read quran with tajweed
The web based examining opportunity gives extra comfort and adaptability to help you in accomplishing your objectives. As the training part is developing and will keep on growing, the blasting pattern is the best assurance for you to genuinely consider the instruction degree for an instructor or a teacher is an honorable occupation.religion and the classroom
ReplyDeleteMy kids went to this amazing tech camp last year and they will go there again. Only 8 students per class, great instructors. In case you are interested, it is Integem Holographic AR Design & programming Camp.
ReplyDeleteSummer Camp
Thanks For sharing this Superb article.I use this Article to show my assignment in college.it is useful For me Great Work. fun88
ReplyDeleteI am inspired with your post writing style & how continuously you describe this topic. After reading your post, thanks for taking the time to discuss this, I feel happy about it and I love learning more about this topic.
ReplyDeletesas online training
This number betting game lets each player to pick the numbers and acquire enormous total cash.satta king
ReplyDelete
ReplyDeleteWow. That is so elegant and logical and clearly explained. Brilliantly goes through what could be a complex process and makes it obvious.I want to refer about the best datastage online training and core-java-video-tutorials
Don't look upon this new hobby as a way to save yourself a lot of money, as writing your own version of most of the programs that you need to pay for now will be out of your reach.ergonomic chair for back pain
ReplyDeleteJazakom Allah khayra
ReplyDeleteJazakom Allah khayra
ReplyDeleteI think that thanks for the valuabe information and insights you have so provided here. Learn more
ReplyDeleteIn this article understand the most important thing, the item will give you a keyword rich link a great useful website page:
ReplyDeleteonline-assignment
am inspired with your post writing style & how continuously you describe this topic. After reading your post, thanks for taking the time to discuss this,
ReplyDeleteAWS training in Chennai
AWS Online Training in Chennai
AWS training in Bangalore
AWS training in Hyderabad
AWS training in Coimbatore
AWS training
Awesome post.Thanks for sharing. AWS Certification Course in Chennai
ReplyDeleteIncredible data. Fortunate me I went over your site by some coincidence (stumbleupon). I've book-checked it for some other time!
ReplyDeletebest interiors
selenium online trainings
ReplyDeleteselenium trainings
nice post..
ReplyDeleteSkype Math Tutor US
Virtual Learning In US
This is a very helpful information
ReplyDeleteZiyyara Edutech is a renowned platform where DP Courses Online is provided so that all the students can clear all their doubts. If you are really interested in online tutoring then you can take 1-on-1 live tutoring on our platform.
ReplyDeleteFor Demo! Contact us on +91 9654271931
Get Free Demo:- https://ziyyara.com/ad-contact
Need professional WordPress Web Design Services? We're experts in developing attractive mobile-friendly WordPress websites for businesses. Contact us today! https://just99marketing.com/wordpress-web-design
ReplyDelete