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

How to attach a file to TD?

651


What do you to script when objects are removed from application?

613


What kind of performance is expected on the client side (e.g., how fast should pages appear, how fast should animations, applets, etc. load and run)?

592


How many types of recording facility are available in quicktest professional?

562


In keyward driven framework what will be the step for yahoo login page ,inbox logout,plz explain in detail

1499






How to creating an output value using quicktest professional?

540


How to export quicktest professional (qtp) results to an .xls file?

595


Can anyone tell me how i used QTP 9.2 use for GIS based S/w with an example?

1683


What is quicktest professional window?

557


How do you test DLL files using automation Tool QTP?

2731


I have created 3 actions in test action1, action2, action3 but I want run action 1,action 3,action2 how can you change in the actions in keyword view?

612


Hi, I am working on microsoft infopath forms..It is standalone form..(not dotnet or web.) . I am not able to indentify any objects in it.. I am currently using active accessibility in the macro for the same but its execution is too slow.. Kindly help in case you have better solution.

2404


Will down time for server and content maintenance/upgrades be allowed? how much?

613


How to test login module with different username and password by using data driven testing in QTP?

604


what type of automation is follwed in the project?

1479