Welcome to Advanced QTP!

 Quality tools and tips for Professionals


Advanced QTP, owned and managed by Meir Bar-Tal, offers one of the largest online collections of tips, advanced articles, demo projects and tutorials, all designed to deliver an effective professional learning experience. Feel free to browse the different content worlds and channels, as well as to visit our renowned Q&A forums.

A big effort is continuously invested in this website for the benefit of the worldwide automation community. A great part of the materials, as well as the forums, are public and free, but some are intended for paid members only. The subscription fees for Premium Members are small, even negligible, but they help us continue producing top quality content and cover the operational costs involved in maintaining this site. We kindly encourage you to purchase a paid subscription to support our mission.

We are constantly looking for ways to improve our services and also for new quality content to publish. If you feel that you can contribute to the worldwide QTP community, or have any professional materials that you would like us to publish, then please contact us and we will gladly help.

Stay tuned! Check the site periodically for updates!
Subscribe to our RSS feeds or email feeds now!

Advanced QTP is also available on:atiHonorsFinalistBadge_20122013_150

Meir Bar-Tal’s Project562337_10202539170991292_1822071052_n[1]

Hello and welcome to AdvancedQTP.com, my Automation Knowledge Project! I have been (and still am!) an enthusiast of automation for many years, researching for better working methods that increase our productivity. I love to learn from others and share my own ideas – you are invited to share yours and give your reaction to mine. I invest a lot to make this site as awesome as possible, enriching it with new materials and answering your questions. Your modest contribution helps me keep this asset for the public benefit.

I hope you enjoy your time here!

With Regards,
Meir Bar-Tal
Owner, AdvancedQTP.com

Check if Page has Scrollbars

Being able to know whether the current web page has a horizontal or vertical scrollbar (or both) can be handy. The following function GetScrollbarState accepts two arguments: The  document (i.e., Browser(“MyBrowser”).Page(“MyPage”).Object) The direction of the scrollbar – “h” for horizontal or “v”” for vertical. And returns true if there is a scrollbar in the given …

Read more

Implementing a Generic Verification Function

The following function yields tremendous code savings, as it can evaluate any comparison between a pair of values (e.g., observed vs. expected) in a generic fashion. It accepts three (3) arguments: 1. sOperator – The logical binary operator, such as ‘=’ (equals), ‘=>’ (greater than or equal to), etc. 2. sObserved – A variant value. …

Read more

Custom Control for your Actions Flow

Introduction Flow control is critical for automation, since the script lacks the flexibility and intelligence of a human user. Examples of flow control are decision-structures (if-then-else, select case), loops with a halting condition, and Synchronization Points. Indeed, UFT (ex. QTP) has a built-in mechanism to execute the actions (internal and external) of a test, but …

Read more

Visual BOOST: True Object Oriented Programming for VBScript

After years of research, we are proud to announce a breakthrough that overcomes the limitations VBScript imposes on automation developers. Though the language supports the use of classes, it has always been in a very limited fashion. Now, with Visual BOOST by Meir Bar-Tal, the so essential inheritance and polymorphism features have been finally added to the …

Read more

UFT 11.53 is out!

HP announced the release of UFT (ex. QTP) 11.53 (service pack 3). Download is available from HP SW site here (you need a HP Passport ID and a SAID). If you are in a trial period for evaluation purposes, you may have to apply to HP to obtain the update. This service pack contains updates related to: …

Read more

Google Search Automation

Through the years I have been asked many times by novices to automation and QTP about Google/Gmail automation. This short post provides an example of Google search automation using a class (see below). The class encapsulates opening the Browser (invoking Internet Explorer), navigating to the Google.com page, searching and retrieving the results. The Main Procedure …

Read more

Implementing Post/Pre Increment and Post/Pre Decrement

In a previous post (please read it first if you haven’t yet) we have seen how to implement C/C++ like arithmetic operators such as ++ and –, as well as += and -=. These languages also support postincrement and preincrement as well as postdecrement and predecrement), so the ++ and — operators work differently when preceding or …

Read more

C++ Style Integer Handling

C++ Style Integer Manipulations in VBScript

If you wondered whether it is possible to replace the awkward statements inside Do…While/Until loops (or to meet other requirements) such as: i = i + 1 a = arr(i) With the more convenient: a = arr(i++) As in languages such as C/C++ – then the answer is YES!   The following class CNum implements the design to achieve a pretty …

Read more