Login   /   Register
QTP Techniques

HP to release a patch for QTP 10 debugger

July 11th, 2009 by Yaron Assa
     2 votes, average: 3 out of 52 votes, average: 3 out of 52 votes, average: 3 out of 52 votes, average: 3 out of 52 votes, average: 3 out of 5
Loading ... Loading ...

If you had to chance to work extensively with QTP 10 debugger, you must have noticed that it isn’t as robust as QTP 9.5 debugger.

These problems have been an inconvenience to some, and a deal-breaker to others – and they will be addressed in an upcoming patch from HP, to be released in the near future.

Overriding QTP’s native reporter

July 7th, 2009 by Yaron Assa
     1 votes, average: 5 out of 51 votes, average: 5 out of 51 votes, average: 5 out of 51 votes, average: 5 out of 51 votes, average: 5 out of 5
Loading ... Loading ...

This article presents a workaround that allows you to override QTP’s Reporter.ReportEvent command with your own custom implementation, without having to rewrite all the report commands in your existing code.

Implementing a GUI layer with classes (Russian Translation)

May 11th, 2009 by Yaron Assa
     1 votes, average: 5 out of 51 votes, average: 5 out of 51 votes, average: 5 out of 51 votes, average: 5 out of 51 votes, average: 5 out of 5
Loading ... Loading ...

Sergey Talalaev has put his time and effort into translating Meir Bar-Tal’s article on Implementing a GUI layer with classes into Russian. We full-heartily thank Sergey on his continued help and support to the QTP community!

Differences and Connections between Runtime Objects and Test Objects

March 11th, 2009 by Yaron Assa
     6 votes, average: 4.83 out of 56 votes, average: 4.83 out of 56 votes, average: 4.83 out of 56 votes, average: 4.83 out of 56 votes, average: 4.83 out of 5
Loading ... Loading ...

Ever wondered what the RO in GetROProperty stands for? Or have you wondered what’s the relation between the Test-Object tabto the Runtime-Object tab in the object spy? The following article will attempt to sort out the misguided conceptions and misunderstandings regarding Runtime and Test Objects, their differences and how they relate to one another.

Limitations of RegisterUserFunc

February 10th, 2009 by Meir Bar-Tal
     5 votes, average: 3.2 out of 55 votes, average: 3.2 out of 55 votes, average: 3.2 out of 55 votes, average: 3.2 out of 55 votes, average: 3.2 out of 5
Loading ... Loading ...

In previous articles (e.g., A Fresh Look on RegisterUserFunc, Assa, 2008) we have discussed one of the most powerful features provided by QuickTest Professional (QTP): “the ability to override methods of [test] object classes with custom functions tailored to serve specific purposes” (Bar-Tal, 2008b). Whilst the advantages of this feature were already reviewed in the […]

Writing QTP tests in Visual Studio

February 7th, 2009 by Yaron Assa
     1 votes, average: 5 out of 51 votes, average: 5 out of 51 votes, average: 5 out of 51 votes, average: 5 out of 51 votes, average: 5 out of 5
Loading ... Loading ...

After a few years of passively complaining about QTP’s Editor problems, I’ve decided to see if I could somehow write my QTP tests in Visual Studio .Net. It would solve both the editor problems (Visual Studio provides a wonderful IDE), as well as QTP’s deeper programming problems (.Net languages are fully fledged object-oriented language, with rich error handling, debugging, and other cool features).

This article describes building a proof-of-concept brdige between Visual Studio and QTP, which would allow us to manipulate GUI objects from Visual-Studio, just as we would from QTP.

While building a robust, viable bridge is far more complex than the proof of concept, it is indeed possible. Ready to step through the looking-glass?

Implementing a GUI Layer with Classes

December 20th, 2008 by Meir Bar-Tal
     10 votes, average: 4.2 out of 510 votes, average: 4.2 out of 510 votes, average: 4.2 out of 510 votes, average: 4.2 out of 510 votes, average: 4.2 out of 5
Loading ... Loading ...

This article describes a powerful technique that exploits Object Oriented Design Patterns, QTP descriptive programming (DP) and the Dictionary object to pack together GUI objects with their corresponding business oriented functions. The article includes a valuable bonus: a highly effective tip that enables to exit a test smoothly, preventing QTP from getting stuck when it fails to identify GUI objects during runtime.

The Fastest Way to Work with GUI Objects

December 4th, 2008 by Yaron Assa
     8 votes, average: 4.88 out of 58 votes, average: 4.88 out of 58 votes, average: 4.88 out of 58 votes, average: 4.88 out of 58 votes, average: 4.88 out of 5
Loading ... Loading ...

So, what’s the fastest way for working with GUI objects? It seems that everyone has an opinion on the matter – some insist the Object-Repository yields the best results, while others are strong advocates for working with Descriptive Programming. Well, I thought we’d better settle this once and for all, and test the matter (more or less) scientifically.

Class Inheritance in VBScript – Now at your Doorstep!

October 4th, 2008 by Yaron Assa
     7 votes, average: 4.14 out of 57 votes, average: 4.14 out of 57 votes, average: 4.14 out of 57 votes, average: 4.14 out of 57 votes, average: 4.14 out of 5
Loading ... Loading ...

VBScript’s lack of class inheritance can be quite problematic for those of us who are using Classes regularly throughout our scripts. The attached file provides a parser which enables you to effectively use class inheritance in VBScript by placeing ‘ ParentClassName comments within your classes. The mechanism will:

1. Enable inheritance from multiple parents (just use multiple lines with Inherit comments)
2. Copies Properties, Variables, Functions and methods from the parent class to the derived class.
3. In case the derived class already has a code segment with the same name, the copied code-segment is changed to MyBase_. Inner segment placements are updated accordingly.
4. Enables inheritance through multiple hierarchies (e.g. GrandParent->Parent->Child inheritance). Circular inheritance protection. The order of appearance in the files is irrelevant, the parser will make sure the parent classes are parsed before their derived classes.
5. The parser has a major downside – as the technique uses ExecuteGlobal to load the processed classes into QTP, you cannot debug the code in mid-run.

Running QTP on 64bit .NET Applications

June 24th, 2008 by Yaron Assa
     2 votes, average: 4.5 out of 52 votes, average: 4.5 out of 52 votes, average: 4.5 out of 52 votes, average: 4.5 out of 52 votes, average: 4.5 out of 5
Loading ... Loading ...

This QTip, by Benny Abergel, will allow you to automate most 64Bit .Net Applications with QTP, even though QTP cannot record 64Bit applications!

Automatically Add Resources to a QTP Test

June 6th, 2008 by Meir Bar-Tal
     3 votes, average: 4.67 out of 53 votes, average: 4.67 out of 53 votes, average: 4.67 out of 53 votes, average: 4.67 out of 53 votes, average: 4.67 out of 5
Loading ... Loading ...

Working with external function libraries (e.g., vbs files) is a common practice among advanced QTP practitioners. This feature of QTP enables developers to encapsulate functionality that needs to be reused in the form of functions, subroutines, and even classes. It is even possible to set the currently loaded function libraries as default, and hence every […]

Add New Methods to Objects

May 30th, 2008 by Meir Bar-Tal
     3 votes, average: 3.67 out of 53 votes, average: 3.67 out of 53 votes, average: 3.67 out of 53 votes, average: 3.67 out of 53 votes, average: 3.67 out of 5
Loading ... Loading ...

This short article complements a previous one I have published on how to Override the Object Exist Property. As previously indicated, one of the most powerful features QuickTest Professional (QTP) provides is the ability to override methods of object classes with custom functions tailored to serve specific purposes (Bar-Tal, 2008b). In this brief article we […]

Override the Object Exist Property

May 18th, 2008 by Meir Bar-Tal
     5 votes, average: 4.6 out of 55 votes, average: 4.6 out of 55 votes, average: 4.6 out of 55 votes, average: 4.6 out of 55 votes, average: 4.6 out of 5
Loading ... Loading ...

One of the most powerful features QuickTest Professional (QTP) provides is the ability to override methods of object classes with custom functions tailored to serve specific purposes. For example, the WebEdit.Set method might be expanded to first check if a popup message is open before or after (or both) the set operation took place. This […]

Working with DOS command line

April 16th, 2008 by daniva
     13 votes, average: 4.23 out of 513 votes, average: 4.23 out of 513 votes, average: 4.23 out of 513 votes, average: 4.23 out of 513 votes, average: 4.23 out of 5
Loading ... Loading ...

The objectives of this article are :

Learn how to use DOS command lines in QTP.
Alternative complex tasks.
Alternative .NET methods.

The Undocumented DeviceReplay

April 4th, 2008 by Yaron Assa
     7 votes, average: 4.43 out of 57 votes, average: 4.43 out of 57 votes, average: 4.43 out of 57 votes, average: 4.43 out of 57 votes, average: 4.43 out of 5
Loading ... Loading ...

 

Somehow HP help files do not provide information about this powerful feature.
You can find DeviceReplay property under Java add-in, but for those who doesn’t use Java add-in might think that the feature is not available for them.

Why Device Replay?

Sometimes we need to do specific action on the UI, for example a right click on an […]

Intellisense and COM

March 30th, 2008 by Yaron Assa
     2 votes, average: 5 out of 52 votes, average: 5 out of 52 votes, average: 5 out of 52 votes, average: 5 out of 52 votes, average: 5 out of 5
Loading ... Loading ...

In a previous article, I’ve discussed (among other things) the possibility of adding COM objects to the QTP reserved objects pool, thereby enabling some limited sort of intellisense for them (i.e. Syntax auto-complete).
This is all very nice, but what happens when we want to do something similar with our custom classes and objects? It seems […]

Reserved Objects as an env. object replacement

March 30th, 2008 by Yaron Assa
     8 votes, average: 4.88 out of 58 votes, average: 4.88 out of 58 votes, average: 4.88 out of 58 votes, average: 4.88 out of 58 votes, average: 4.88 out of 5
Loading ... Loading ...

Today we’re gonna look at QTP’s internal mechanism for creating singleton COM objects, called Reserved Objects; And we’ll see how Reserved Objects can be used to improved and simplify our scripts.
Well, that was a heavy title… let’s see if we can break it down:1. A COM object is any object you can create via CreateObject […]

A Fresh Look on RegisterUserFunc

March 30th, 2008 by Yaron Assa
     3 votes, average: 4.33 out of 53 votes, average: 4.33 out of 53 votes, average: 4.33 out of 53 votes, average: 4.33 out of 53 votes, average: 4.33 out of 5
Loading ... Loading ...

Background

Today we’re going to deal with an often overlooked feature of QTP – RegisterUserFunc. Though RegisterUserFunc can offer some real-world benefits, newcomers to the QTP world are unfamiliar with it, and QTP experts look down on it (when comparing it to their custom frameworks). I intend to shed some new light on this feature and […]

VS2008 & PDM.DLL dramatically improves QTP’s debug engine

March 30th, 2008 by Yaron Assa
     3 votes, average: 4.67 out of 53 votes, average: 4.67 out of 53 votes, average: 4.67 out of 53 votes, average: 4.67 out of 53 votes, average: 4.67 out of 5
Loading ... Loading ...

Yesterday I was in for a very pleasant surprise - I’ve just installed Visual Studio 2008, and was working on a QTP test, when I’ve noticed a something strange with QTP’s Debug view.
Usually when you add a watch to an Object, QTP will present it as an enigmatic "<Object>", with no further description. If you’re […]

DP in 60 slides

March 29th, 2008 by Yaron Assa
     41 votes, average: 4.07 out of 541 votes, average: 4.07 out of 541 votes, average: 4.07 out of 541 votes, average: 4.07 out of 541 votes, average: 4.07 out of 5
Loading ... Loading ...

Minimalism has become the new hot trend in business presentation.
As was foretold in Presentation Zen, concept presentation (e.g. The Brand Gap), and even technical ones (e.g. OpenID) can be delivered in simple, one-sentence a slide presentations.
The format makes the reader focus on one single idea at a time, which makes it perfect for storytelling structure. […]

Introduction to Descriptive Programming

March 29th, 2008 by Yaron Assa
     13 votes, average: 4.31 out of 513 votes, average: 4.31 out of 513 votes, average: 4.31 out of 513 votes, average: 4.31 out of 513 votes, average: 4.31 out of 5
Loading ... Loading ...

Before we can move on to some of the more advanced subjects, it’s probably better if we ensure we’re all speaking the same language. So now we’ll create a proper base-line for some basic QTP techniques (though even they are sometimes referred to as “advanced”). One of the most profound techniques necessary for advanced QTP […]