QTP Descriptive Programming

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

54 comments

Comments 1 - 10 of 54 previous next Post a comment

  • + KGMCHANDRA KGMCHANDRA 3 months ago
    Good One!
  • + bijju_nsk bijju_nsk 5 months ago
    Thanks a lot. it is very useful. Good contribution.
  • + checksport checksport 5 months ago
    It’s a good presentation.

    To the lazy morons: there’s an option that says 'Get file'. Just click on it and get the slide file instead of posting your email address. Such a typical desi thing to do.
  • + guest0cdffe guest0cdffe 6 months ago
    Awesome.., No words to post..,
    Cud u pl send this to sriramdanalyst@gmail.com
  • + guestef40717 guestef40717 6 months ago
    Hi!

    It is a fabulous presentation. It would be great if u could send a copy of it to kaushik.aryaan@gmail.com.

    Thanks & Regards
    Kaushik
  • + qaengg_2507 qaengg_2507 6 months ago
    Thank you so much.. This is too good presentation!!
  • + guest37d7f78 guest37d7f78 7 months ago
    It is very helpfu;
  • + guest38ed4b9 guest38ed4b9 8 months ago
    thanks very nice
  • + guest7069b59 guest7069b59 9 months ago
    Nice one ...But it should contain more content
  • + guesta1be2 guesta1be2 9 months ago
    Thanks for sharing! Very helpful stuff.

Comments 1 - 10 of 54 previous next

Post a comment
Embed Video
Edit your comment Cancel

26 Favorites & 1 Group

QTP Descriptive Programming - Presentation Transcript

    • 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
  1. 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
  2. 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
  3. 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
  4. 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
  5. ?
    • DP has a magic property: “index”, which allows us to tell the double objects apart
    • Index is a zero-based counter
  6. 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
  7. 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

+ Yaron AssaYaron Assa, 3 years ago

custom

64984 views, 26 favs, 21 embeds more stats

Quicktest professional - descriptive programming 10 more

More info about this document

© All Rights Reserved

Go to text version

  • Total Views 64984
    • 57455 on SlideShare
    • 7529 from embeds
  • Comments 54
  • Favorites 26
  • Downloads 3861
Most viewed embeds
  • 6547 views on http://www.advancedqtp.com
  • 822 views on http://solmarkn.solmarkn.com
  • 49 views on http://testingexperts.blogspot.com
  • 29 views on http://makeqtpeasy.blogspot.com
  • 20 views on http://sunny.deb.googlepages.com

more

All embeds
  • 6547 views on http://www.advancedqtp.com
  • 822 views on http://solmarkn.solmarkn.com
  • 49 views on http://testingexperts.blogspot.com
  • 29 views on http://makeqtpeasy.blogspot.com
  • 20 views on http://sunny.deb.googlepages.com
  • 17 views on http://jagadheesanqatester.blogspot.com
  • 7 views on http://den-tzg-shrp-01
  • 6 views on http://qtpfunctionaltesting.blogspot.com
  • 6 views on http://static.slideshare.net
  • 5 views on http://qtp.solmarkn.com
  • 5 views on http://penningmind.blogspot.com
  • 3 views on http://kiranusa.wordpress.com
  • 3 views on http://qtpscript.blogspot.com
  • 2 views on file://
  • 2 views on http://cc.msnscache.com
  • 1 views on http://74.125.65.132
  • 1 views on http://www.adambyrtek.net
  • 1 views on http://jaglan-testprocessmanagement.blogspot.com
  • 1 views on http://www.rapidsharefast.com
  • 1 views on http://blog.pykonik.org
  • 1 views on http://www.filescon.com

less

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel
File a copyright complaint
Having problems? Go to our helpdesk?

Categories

Groups / Events