Sunday, 6 September 2015

QTP DESCRIPTIVE PROGRAMME SCRIPTS FOR BEGINNERS


sample script for the beginners of Descriptive Programming.
'This is a sample script on Flight Reservation Application using Descriptive Programming
'Script Flow :- Open Flight Reservation Application --> Login --> Insert Order --> Open Order --> Delete Order
'Object Descriptions created in the script by using CreateObjectDescription Function.
'If object is using only one property then i have created a constant for it.


'*******************************************************************************
'Input Variables
'*******************************************************************************
Dim ApplicationPath
ApplicationPath=Environment("ProductDir")&"\samples\flight\app\flight4a.exe"

'*******************************************************************************
'Object Description Constants
'*******************************************************************************
'Login

Public Const Login_Dialog="text:=Login"

Set Login_Edit_AgentName=CreateObjectDescription("nativeclass:=Edit,attached text:=Agent Name:")
Set Login_Edit_Password=CreateObjectDescription("nativeclass:=Edit,attached text:=Password:")
Set Login_Btn_OK=CreateObjectDescription("nativeclass:=Button,text:=OK")

'Flight Reservation Window


Public Const FlightReservation_Window="text:=Flight Reservation"
Public Const FlightReservation_Menu= "menuobjtype:=2"
Public Const FlightReservation_OpenOrder_Menu="File;Open Order..."
Public Const FlightReservation_NewOrder_Menu="File;New Order"

Set FlightReservation_Obj_DateOfFlight= CreateObjectDescription("nativeclass:=MSMaskWndClass,attached text:=Date of Flight:")
Set FlightReservation_Cmb_FlyFrom= CreateObjectDescription("nativeclass:=ComboBox,attached text:=Fly From:")
Set FlightReservation_Cmb_FlyTo= CreateObjectDescription("nativeclass:=ComboBox,attached text:=Fly To:")
Set FlightReservation_Btn_Flight= CreateObjectDescription("nativeclass:=Button,text:=FLIGHT")
Set FlightReservation_Edit_Name=CreateObjectDescription("nativeclass:=Edit,attached text:=Name:")
Set FlightReservation_Edit_Tickets=CreateObjectDescription("nativeclass:=Edit,attached text:=Tickets:")
Set FlightReservation_Rdb_Class=CreateObjectDescription("nativeclass:=Button,text:=First")
Set FlightReservation_Btn_InsertOrder= CreateObjectDescription("nativeclass:=Button,text:=&Insert Order")
Set FlightReservation_Btn_UpdateOrder= CreateObjectDescription("nativeclass:=Button,text:=&Update Order")
Set FlightReservation_Btn_DeleteOrder= CreateObjectDescription("nativeclass:=Button,text:=&Delete Order")
Set FlightReservation_Edit_OrderNo=CreateObjectDescription("nativeclass:=Edit,attached text:=Order No:")


'Select Flights Dialog

Public Const FlightReservation_Dialog_FlightsTable= "text:=Flights Table"

Set FlightsTable_Lst_FlightList= CreateObjectDescription("nativeclass:=ListBox,attached text:=From")
Set FlightsTable_Btn_OK= CreateObjectDescription("nativeclass:=Button,text:=OK")

'Open Order Dialog

Public Const FlightReservation_Dialog_OpenOrder="text:=Open Order"

Set OpenOrder_ChkBtn_OrderNo=CreateObjectDescription("nativeclass:=Button,text:=&Order No.")
Set OpenOrder_Btn_OK=CreateObjectDescription("nativeclass:=Button,text:=OK")
Set OpenOrder_Edit_OrderNo=CreateObjectDescription("nativeclass:=Edit,window id:=1016")

'Flight Reservation Popup Dialog
Public Const FlightReservations_PopupDialog="text:=Flight Reservations"
Set FlightReservations_Btn_YES= CreateObjectDescription("nativeclass:=Button,text:=&Yes")

''*******************************************************************************
'Object Description Constants End
'*******************************************************************************

'#############################################################################

'Main Script Start
'#############################################################################
'Open Application
Call OpenApplication (ApplicationPath)

'Login 
Call Login("Mercury","Mercury")

'Insert an Order
OrderInserted=InsertOrder()

'Open Inserted Order
Call OpenOrder(OrderInserted)

'Delete Inserted Order
Call DeleteOrder (OrderInserted)

'Close Application
Call CloseApplication()


'#############################################################################
'Main Script End
'#############################################################################

'Functions Start
'*******************************************************************************

Function OpenApplication(AppPath)
    InvokeApplication AppPath
End Function
'*******************************************************************************
'*******************************************************************************
Function Login(iUserName,iPassword)

Dialog(Login_Dialog).WinEdit(Login_Edit_AgentName).Set iUserName
Dialog(Login_Dialog).WinEdit(Login_Edit_Password).Set iPassword
Dialog(Login_Dialog).WinButton(Login_Btn_OK).Click

If err.Description="" Then
    Reporter.ReportEvent micPass,"Login","Login Successful"
Else
    Reporter.ReportEvent micFail,"Login","Login Failed"
End If
End Function
'*******************************************************************************
'*******************************************************************************
Function InsertOrder()

Window(FlightReservation_Window).WinMenu(FlightReservation_Menu).Select FlightReservation_NewOrder_Menu
Window(FlightReservation_Window).WinObject(FlightReservation_Obj_DateOfFlight).Type "111111"
Window(FlightReservation_Window).WinComboBox(FlightReservation_Cmb_FlyFrom).Select "Denver"
Window(FlightReservation_Window).WinComboBox(FlightReservation_Cmb_FlyTo).Select "Frankfurt"
Window(FlightReservation_Window).WinButton(FlightReservation_Btn_Flight).Click
Window(FlightReservation_Window).Dialog(FlightReservation_Dialog_FlightsTable).WinList(FlightsTable_Lst_FlightList).Select 0
Window(FlightReservation_Window).Dialog(FlightReservation_Dialog_FlightsTable).WinButton(FlightsTable_Btn_OK).Click
Window(FlightReservation_Window).WinEdit(FlightReservation_Edit_Name).Set "TEST NAME"
Window(FlightReservation_Window).WinEdit(FlightReservation_Edit_Tickets).Set 10
Window(FlightReservation_Window).WinRadioButton(FlightReservation_Rdb_Class).Set
Window(FlightReservation_Window).WinButton(FlightReservation_Btn_InsertOrder).Click
Window(FlightReservation_Window).WinButton(FlightReservation_Btn_DeleteOrder).WaitProperty "enabled",true,10000
InsertOrder=Window(FlightReservation_Window).WinEdit(FlightReservation_Edit_OrderNo).GetROProperty("text")

If err.Description="" Then
    Reporter.ReportEvent micPass,"Insert Order","Order Inserted Successfully"
Else
    Reporter.ReportEvent micFail,"Insert Order","Failed in Inserting an Order"
End If

End Function

'*******************************************************************************
'*******************************************************************************
Function OpenOrder(OrderNumber)

Window(FlightReservation_Window).WinMenu(FlightReservation_Menu).Select FlightReservation_OpenOrder_Menu
Window(FlightReservation_Window).Dialog(FlightReservation_Dialog_OpenOrder).WinCheckBox(OpenOrder_ChkBtn_OrderNo).Set "ON"
Window(FlightReservation_Window).Dialog(FlightReservation_Dialog_OpenOrder).WinEdit(OpenOrder_Edit_OrderNo).Set OrderNumber
Window(FlightReservation_Window).Dialog(FlightReservation_Dialog_OpenOrder).WinButton(OpenOrder_Btn_OK).Click

If err.Description="" Then
    Reporter.ReportEvent micPass,"Open Order","Order Opened Successfully"
Else
    Reporter.ReportEvent micFail,"Open Order","Failed in Opening an Order"
End If

End Function
'*******************************************************************************
'*******************************************************************************
Function DeleteOrder(OrderNumber)

Call OpenOrder(OrderNumber)

Window(FlightReservation_Window).WinButton(FlightReservation_Btn_DeleteOrder).Click
Window(FlightReservation_Window).Dialog(FlightReservations_PopupDialog).WinButton(FlightReservations_Btn_YES).Click

If err.Description="" Then
    Reporter.ReportEvent micPass,"Delete Order","Order Deleted Successfully"
Else
    Reporter.ReportEvent micFail,"Delete Order","Failed in Deleting an Order"
End If

End Function
'*******************************************************************************
'*******************************************************************************

Function CloseApplication()
    Window(FlightReservation_Window).Close
    If err.Description="" Then
        Reporter.ReportEvent micPass,"Close Application","Application Closed Successfully"
    Else
        Reporter.ReportEvent micFail,"Close Application","Failed in Closing the Application"
    End If
End Function

'*******************************************************************************
'*******************************************************************************
Function CreateObjectDescription(StrProperties)

    Dim objDescription
    Dim ObjArr
    Dim PropCount
    Dim ObjProperty
    
    Set objDescription=Description.Create

    ObjArr=split(StrProperties,",")
    
    For PropCount=0 to ubound(ObjArr)
        ObjProperty=split(ObjArr(PropCount),":=")
        objDescription(ObjProperty(0)).value=ObjProperty(1)
    Next
    
  Set CreateObjectDescription=objDescription


End Function

'*******************************************************************************
'Functions End
'*******************************************************************************


No comments:

Post a Comment