
July 11th, 2009 by

Yaron Assa

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.

July 7th, 2009 by

Yaron Assa

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.

February 10th, 2009 by

Meir Bar-Tal

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 […]

February 7th, 2009 by

Yaron Assa

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?

October 4th, 2008 by

Yaron Assa

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.

June 24th, 2008 by

Yaron Assa

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

June 6th, 2008 by

Meir Bar-Tal

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 […]

May 30th, 2008 by

Meir Bar-Tal

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 […]

May 18th, 2008 by

Meir Bar-Tal

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 […]

March 30th, 2008 by

Yaron Assa

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 […]

March 30th, 2008 by

Yaron Assa

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 […]

March 30th, 2008 by

Yaron Assa

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 […]