Pages

Monday, September 13, 2010

Descriptive Programming --Types

 

Entering / Providing objects information directly into the test script is called Descriptive Programming.

In this method of script creation, we no need to have Object Repositories.
Advantages:

a) Descriptive Programming based Test scripts are faster in execution than Repository based Test scripts.

b) Scripts are portable (we can run these scripts from any machine easily)

c) Maintenance is easy (less amount of resources)

d) We can start Test Execution process even though Application is not ready.

Descriptive programming is basically 2 types.

1. Static Programming

2. Dynamic Programming

Static Programming

In this style of script generation, we provide objects information directly into the script.

Example:

Invokeapplication "C:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe"

dialog("text:=Login").Activate

dialog("text:=Login").Winedit("attached text:=Agent Name:").Set "swarupa"

dialog("text:=Login").Winedit("attached text:=Password:").Set "mercury"

dialog("text:=Login").Winbutton("text:=OK","width:=60").Click

window("text:=Flight Reservation").Close

Note:

1. Dialog, WinEdit and WinButton – Test Objects

2. text, attached text - Property names

3. Login, Agent Name:, Password:, OK,Flight Reservation - Property values or Logical Names of the Object

4. Activate, Set, Setsecure, Click - Methods

Note2:

If we feel one property information is not sufficient for recognizing the object uniquely, then we can provide more properties information by separating with commas.

Note 3:

If we want to get objects information (Test objects, properties and values), we can use object spy feature. This feature is available in Tools Menu, in local repository and in repository manager.

NOTE:-

If we want maintain ‘Objects information’ in centralized location then we can use Constants.
Steps:
Creating Constants:
Const Login="text:=Login", Agent="attached text:=Agent Name:"
Const Pwd ="attached text:=Password:", Ok="text:=OK"
Note: we can declare no of Constants in a line by separating with Camas (,), if we take other line then we have to use Const Statement again.
Creating a Library file
Place Constants in Notepad and save as .vbs file
Associate the Library file to QTP (File->Settings->Resources-> Click add (+) icon-> Browse path of the Library file->Click Apply and click Ok buttons
Otherwise, we can load the library file during run-time
Syntax:
ExecuteFile “Path of the Library file(.vbs)”

After that create the Test Script using Constants
Creating the Test Script using Constants:
Invokeapplication "C:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe"

Dialog(Login).Activate

Dialog(Login).Winedit(Agent).Set "swarupa"

Dialog(Login).Winedit(Pwd).Set "mercury"

Dialog(Login).Winbutton(Ok).Click

Advantages:
If we maintain Object Information in the centralized location, then we can handle modifications easily.
-------------------------------------------------------------------

Dynamic Programming

In this style of script generation, first we create description objects, provide properties information and use description objects in the test script.

Creating Properties Collection Objects

Set oLogin=description.Create

Set oAgent=description.Create

Set oPassword=description.Create

Set oOk=description.Create

Entering Properties Information into Objects

oLogin("text").value="Login"

oAgent("attached text").value="Agent Name:"

oPassword("attached text").value="Password:"

oOk("text").value="OK"

NOTE:- the above two parts to written in notepad with login.vbs and associate it from fileàsettingsàresourcesàclick on the + symbolàbrowse till the location where u have saved the file and say OK

And the below script in the QT

Generating Tests using Properties collection Objects

Invokeapplication "C:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe"

Dialog(oLogin).Activate

Dialog(oLogin).Winedit(oAgent).Set "swarupa"

Dialog(oLogin).Winedit(oPassword).Set "mercury"

Dialog(oLogin).Winbutton(oOK).Click

Note1: Create Description objects and put into one library file, by associating that library file, we can generate tests.

Note2: Dynamic programming is some difficult in preparation than static programming but maintenance is very easy.

No comments:

Post a Comment