How to create frame work for qtp?

Answer Posted / rajarathnam

Test Driver Frame Work in QTP

Components Required For Test Driver Frame Work

1. Spread Sheet.xls
2. Main Script QTP File
3. Script Folder (all script has been saved as .VBS
File and saved under this folder
4. Object Folder (all Object Repositories Shared File
has been saved as .tsr file and saved under this folder


Concept of Test Driver Frame Work

Test Driver Frame Work is purely meant for running
the script one by one and no need to bother any test
engineer to care about. If the project contains more than
100 scenarios to automate, and we need to execute the same
one by one. So we need a test engineer to execute it. But
if we design the Test Driver Frame Work we need to do only
setting the flag value to “y” or “n”. In order to execute
the script set the flag value as “y” else “n”.
All the script files are saved as .VBS file and
saved in the Script Folder and the path of the Script file
path should be populated in the Script_Path Column in the
Spread Sheet.xls file.
All the Shared Repositories file are saved as .tsr
file and saved in the Object Folder and the Object
Repository File Path should be populated in the
Repository_Path Column in the Spread Sheet.xls file.
In the Main Script we are calling the
Spreadsheet.xls file and we get the row count from the
sheet and we are sending the row count to the loop. First
the active row is set to Row1 and we fetch the value from
Flag, if the value of flag is “y” then we fetch the value
of script path and repositorypath and we call appropriate
script and object repositories. if the value of flag is “n”
we will execute that row and the pointer is send to next
row.
By this we can execute all the scenarios without a
test engineer, only we have to do is invoking the Main
Script in the QTP.


Folder Structure

-->TDF (Folder)
-->Main Scripts (Folder)
|
|--> Scripts in .VBS extensions
-->Object
-->Script
-->Spreadsheet.xls







Spread Sheet.Xls

sino Scenario Name Script_Path Repository_Path Flag
1 insert c:\tdf\script\insert.vbs
c:\tdf\object\insert.tsr y
2 open c:\tdf\script\open.vbs
c:\tdf\object\open.tsr y
3 graph c:\tdf\script\graph.vbs
c:\tdf\object\graph.tsr y



Main Script (saved as a QTP File)

systemutil.Run("C:\Program Files\Mercury
Interactive\QuickTest
Professional\samples\flight\app\flight4a.exe")
Dialog("Login").Activate
Dialog("Login").WinEdit("Agent Name:").Set "mercury"
Dialog("Login").WinEdit("Password:").Set "mercury"
Dialog("Login").WinButton("OK").Click
datatable.AddSheet("newsheet")
datatable.ImportSheet "c:\tdf\spreadsheet.xls","sheet1","new
sheet"
n=datatable.GetSheet("newsheet").getrowcount
For i = 1 to n
datatable.SetCurrentRow(i)
flag=datatable("Flag","newsheet")
If flag = "y" Then
scriptpath=datatable.Value
("Script_Path","newsheet")
objpath=datatable.Value
("Repository_Path","newsheet")
repositoriescollection.RemoveAll
repositoriescollection.Add(objpath)
executefile scriptpath
repositoriescollection.RemoveAll
End If
Next

Script Folder

Script File

Insert Script

Window("Flight Reservation").Activate
Window("Flight Reservation").WinButton("Button").Click
Window("Flight Reservation").WinObject("Date of
Flight:").Type "111111"
Window("Flight Reservation").WinComboBox("Fly
From:").Select "London"
Window("Flight Reservation").WinComboBox("Fly
To:").Select "Frankfurt"
Window("Flight Reservation").WinButton("FLIGHT").Click
Window("Flight Reservation").Dialog("Flights Table").WinList
("From").Select "12536 LON 08:00 AM FRA 08:45 AM
AA $100.50"
Window("Flight Reservation").Dialog("Flights
Table").WinButton("OK").Click
Window("Flight Reservation").Activate
Window("Flight Reservation").WinEdit("Name:").Set "raja"
Window("Flight Reservation").WinButton("Insert Order").Click
Window("Flight Reservation").Activate

Open Script

Window("Flight Reservation").Activate
Window("Flight Reservation").WinButton("Button").Click
Window("Flight Reservation").WinButton("Button_2").Click
Window("Flight Reservation").Dialog("Open
Order").WinCheckBox("Order No.").Set "ON"
Window("Flight Reservation").Dialog("Open Order").WinEdit
("Edit_2").Set "4"
Window("Flight Reservation").Dialog("Open Order").WinButton
("OK").Click

Graph Script

Window("Flight Reservation").Activate
Window("Flight Reservation").WinButton("Button_2").Click
Window("Flight Reservation").WinButton("Button").Click

Is This Answer Correct ?    12 Yes 2 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

For which type of project the iterative model is suitable?

1540


Hi, While recording a Jave based web application, its recording all my actions and the objects.And I have 5 WebEdit objects on the page and all are recorded. But while execution, at the 2 WebEdit object, its entering the value into the object (Its making a call to the AJAX, matching the value), when the control get out of this object the value is erased or cleared. Could anyone please help. I have recoreded 5 more scenarios where WebEdit is in the picture on different webpages and all are working fine. Here is my Script: Browser("Sign In").Page("Matching Workbench_3").WebEdit ("locationLookup").Set "0320 - SEATTLE-KM" Browser("Sign In").Page("Matching Workbench_3").WebEdit ("supplierNameLookup").Set "TRAMMO PETROLEUM INC" *** SupplierNameLookup is the object, which is haing an issue. And also I was using the SendString function, but it didnt work.

1959


How to find a window is minimized or not

1608


What are some test assets and related extensions of qtp?

746


How to save your test using quicktest professional?

733


Explain hybrid framework with advantages and disadvantages?

740


Can any body please tell me the steps of keyword driven frame work in qtp. My mail is saswat445@gmail.com please send some materials on keyword driven testing in qtp. thanks a lot...

1993


How to automate a script in mainframes environment? I have the terminal emulator Add in. Describe in detail.

1906


what type of framework u r using in ur organization

1820


Tell some commonly used Excel VBA functions?

794


How to create Reusable and Multiple Actions?

1892


How to handle the exceptions using the recovery scenario manager in qtp?

750


How to find Operating system information using QTP script?

734


Where should i find checkpoint and virtual objects's Object properties and values in the QTP 9.2 Means where checkpoints or virtual objects related data will store If i want to get the runtime object properties how can i use Getroproperties on Checkpoints

1668


tell me QTP standards ?plz

1679