Relevant Codes (by Anshoo Arora)

A Test Development Resource for HP QuickTest Professional.

QTP

This tip shows how to disable the Error message: “A script on this page is causing Internet Explorer to run slowly” with using VBScript.

{ 10 comments }

CreationTime

by Anshoo Arora on September 3, 2010

This article explains how the Browser’s CreationTime ordinal identifier works in QTP with examples.

{ 19 comments }

VBScript’s error handling techniques have been quite limited to On Error statements, and even though they satisfy our needs to some extent, the lack of incorporating dynamic behavior with them has been a much bigger issue. In this article, I will implement a Try-Catch-Finally statement with QTP’s GUI objects along with an On Error statement. This will enable dynamic behavior and enable us to easily divide flow depending on different error conditions.

{ 3 comments }

There is a common perception that we must include the Browser object in hierarchies when working in the Web environment. The truth is that, we really don’t need to include the Browser object if the Page object has been included in the hierarchy.

{ 30 comments }

The previous articles written for the Siebel category were written from a perspective of version 7.7 and 7.8. I know of many of you have already have upgrades Siebel to 8.1, and so have we! This gave me a chance to update my old article on the SiebList object. Not much has changed, actually, but the code here has been optimized for better performance and compatibility with the latest version. Information regarding its limitations has also been included.

{ 9 comments }

This is a short review of the book QuickTest Professional Unplugged, which is the first book of its kind to be made available to the QuickTest community.

{ 7 comments }

This article demonstrates a quick tip to activate, minimize or maximize browsers. Unlike a Standard Windows Window object, Browser does not support the Activate, Minimize, Maximize methods. Therefore, we can create our custom function and tie it with the Browser object using RegisterUserFunc.

{ 56 comments }

There are several instances where automation developers have to work with applications containing multiple windows, in a Standard Windows Environment. This technique uses a similar methodology as demonstrated in the article for Web-based apps, but the crux of this technique differs. It can be used by automation developers testing most types of windows applications.

{ 12 comments }

Parameterization is a process in which parameters, or variables are substituted for hard-coded values which help perform the same operations on the AUT with multiple sets of data. In other words, in QTP, parameterization helps automation developers test an application with different data from a single action (or multiple actions) through multiple iterations.

{ 115 comments }

In this article, we will see a few interesting ways to automate the Windows Calculator. The concepts in this article should serve as an excellent way of understanding the automation process with QTP, how functions can help increase code reuse, and why at times its extremely important to validate user-input. A must read!

{ 24 comments }

This article will discuss the concepts of Custom Checkpoints, their benefits, when to use them and how they provide us with greater flexibility in script development. Custom CheckPoints offer an easier and highly flexible way of construction your object verifications, which is a core concept of test automation. The concepts below, when coupled together can help you build extremely robust scripts, with enough information that your user desires.

{ 64 comments }

Web applications due to their dynamic nature, make script development quite challenging. I am writing this article in an attempt to simplify one of its aspects that automation developers face while working with Web applications. We will see how it can be made extremely easy to work with multiple browsers with the use of a Dictionary object, to which we can add Browsers, remove them, change the way we reference them and much more.

{ 29 comments }

We had an issue with one of the SiebButton objects’ in our environment. When we executed a statement to click on this particular SiebButton, the next statement would not execute. What happens is, as we click this particular SiebButton, a Dialog box pops up immediately. For some reason that we have not been able to figure out, the execution marker from the SiebButton(“”).Click statement will not move to the next line.

{ 9 comments }

This article describes how the management of test data can be greatly simplified with the help of ADO and the Dictionary Object. This concept shows how your data-pool needs to be accessed only once to create a highly efficient and fast-performing data-dictionary. Examples and Demos included.

{ 71 comments }

Today, after being quite tired of switching windows between Notepad++ and QTP, I started experimenting with different layouts I can create to make the the QuickTest editor a little more viewing-friendly. After a few minutes of playing around, I finally have something that I like.

{ 15 comments }

Upcoming: Automation Framework

by Anshoo Arora on September 29, 2009

I have been planning for a while now to release a framework for our community. I even started on a few ideas, but I felt it would be best if I received some feedback from you guys. Please use the comment section of this post to share your ideas of what you would like to see included in the framework.

{ 54 comments }

This article demonstrates how working with large object hierarchies (like Siebel’s) can be greatly simplified in QTP by using one of the 4 techniques mentioned here.

{ 22 comments }

This article covers the principles of creating a Description Object in QTP and its amazing use with the ChildObjects method. We will see how we can create an object description with a single property, with multiple properties, by using regular expressions and finally putting all these concepts into their application with the ChildObjects method.

{ 119 comments }

QTP: Create Test Archives

by Anshoo Arora on August 27, 2009

This post explains how to create test archives elegantly and quickly and store all run-time files with a date and time stamp.

{ 0 comments }

This article demonstrates an elegant approach to working with multiple Browsers through the use of Classes and Dictionary Object. Examples included.

{ 0 comments }

This article outlines how one can avoid the 10-15 delay with QTP 9.2 with 1 open browser.

{ 8 comments }

Like the previous article, this will also be a little fast-paced and will cover how to create a Custom form and add a RadioButton control to it.

{ 9 comments }

In this article, we will see how we can add and use multiple objects in a user form. It will cover the concepts discussed in the previous 4 articles.

{ 8 comments }

This article will cover the basics of DOTNetFactory with QTP and demonstrate the technique of adding a CheckBox Control to a Custom Form.

{ 4 comments }

This article will cover the basics of DOTNetFactory with QTP and demonstrate the technique of adding a Button Control to a Custom Form.

{ 8 comments }

This article will cover the basics of DOTNetFactory with QTP and demonstrate the technique of adding a TextBox Control to a Custom Form.

{ 9 comments }

In this series of articles, we will discover how to use the DOTNetFactory to create a user form and how to add different object types to it.

{ 13 comments }

Usage of modular classes helps in keeping all methods and properties for a module intact, and if done correctly, this can simply maintenance greatly.

{ 51 comments }

This is the 4th article in the series and will show how DP can be used to create a test module in QTP.

{ 105 comments }

This article outlines the concepts of Ordinal Identifiers used in QTP. We will also create a simple test module (step by step) for a login process using only Descriptive Programming (DP).

{ 73 comments }

This article compares the uses of Descriptive Programming vs Object Repository in QTP.

{ 57 comments }

This article discusses an elegant way of multiple cross-checking expected vs actual properties of objects.

{ 31 comments }

This article shows a technique that can be used to synchronize QTP with AJAX applications.

{ 23 comments }

This topic provides an excellent introduction to Regular Expressions with DP in QTP. It also discusses the famous wild card character in detail.

{ 60 comments }

Descriptive programming has become the technique of choice for many QTP test developers. This topic provides an excellent introduction to DP with QTP.

{ 123 comments }

This article outlines a few techniques to close Internet Explorer (IE) browsers in QTP (Closing browser techniques).

{ 43 comments }

This article outlines an easy way to retrieve object count when working with QTP. It can be used to include and exclude hidden objects in the page, to retrieve only the visible object count.

{ 27 comments }

In this topic we will learn how to pass 2 or more values from function using Global Variables, Arrays, Dictionary Objects, Concatenated Strings and with the use of ByRef.

{ 3 comments }

This article demonstrates the differences between ByRef and ByVal in VBScript. It will also provide the pros and cons and excellent examples to get you started immediately.

{ 17 comments }

This is the 4th article in the Siebel series. In this article, we will detail an effective way to work with the Siebalculator Object using QTP. Examples included.

{ 0 comments }

This article introduces the SiebList object in a QTP and Siebel Environment, and demonstrates some methods that can help in working with a SiebList like an expert.

{ 4 comments }

This article introduces the SiebPickList object in a QTP and Siebel Environment, and demonstrates some methods that can be performed to enhance working capabilities in Siebel.

{ 3 comments }

This article introduces the Siebel add-in with QTP and outlines various techniques to work with Siebel objects. It also offers an excellent introduction to the Siebel automation process with QTP.

{ 44 comments }

The IsObjectFound class implements the search function for the specified web object and returns true if a visible instance is found. Considers Visible and Hidden Objects.

{ 8 comments }