VBScript Tutorial 5
(VBScript Functions)
I) VBScript User defined Functions
i) Create a Sub Procedure with no Arguments
Sub Login ()
SystemUtil.Run “C:\Program Files\HP\Unified Functional Testing\samples\flight\app\flight4a.exe”
Dialog(“Login”).Activate
Dialog(“Login”).WinEdit(“Agent Name:”).Set “asdf”
Dialog(“Login”).WinEdit(“Password:”).SetSecure “5566695dab8b9f47c06f8ba443bdba84f0d5274e”
Dialog(“Login”).WinButton(“OK”).Click
End Sub
Call Login()
—————————————————
ii) Create a Sub Procedure with Arguments
Sub Login (Agent, Password)
SystemUtil.Run “C:\Program Files\HP\Unified Functional Testing\samples\flight\app\flight4a.exe”
Dialog(“Login”).Activate
Dialog(“Login”).WinEdit(“Agent Name:”).Set Agent
Dialog(“Login”).WinEdit(“Password:”).Set Password
wait 2
Dialog(“Login”).WinButton(“OK”).Click
End Sub
Call Login(“abcd”, “mercury”)
—————————————————
iii) Sub Procedure with Arguments and Data Driven Testing
Sub Login (Agent, Password)
SystemUtil.Run “C:\Program Files\HP\Unified Functional Testing\samples\flight\app\flight4a.exe”
Dialog(“Login”).Activate
Dialog(“Login”).WinEdit(“Agent Name:”).Set Agent
Dialog(“Login”).WinEdit(“Password:”).Set Password
wait 2
Dialog(“Login”).WinButton(“OK”).Click
Window(“Flight Reservation”).Close
End Sub
Call Login(DataTable(1, 1), DataTable(2, 1))
———————————————————
iv) Sub Procedure with Arguments and load Shared object repository file from Function library.
Sub Login (Agent, Password)
RepositoriesCollection.Add “C:\Users\gcreddy\Desktop\login.tsr”
SystemUtil.Run “C:\Program Files\HP\Unified Functional Testing\samples\flight\app\flight4a.exe”
Dialog(“Login”).Activate
Dialog(“Login”).WinEdit(“Agent Name:”).Set Agent
Dialog(“Login”).WinEdit(“Password:”).Set Password
wait 2
Dialog(“Login”).WinButton(“OK”).Click
End Sub
——————————————————
v) Sub Procedure with Arguments and Verification Points
Sub Login(Agent, Password)
SystemUtil.Run “C:\Program Files\HP\Unified Functional Testing\samples\flight\app\flight4a.exe”
Dialog(“Login”).Activate
Dialog(“Login”).WinEdit(“Agent Name:”).Set Agent
Dialog(“Login”).WinEdit(“Password:”).Set Password
wait 2
Dialog(“Login”).WinButton(“OK”).Click
If Window(“Flight Reservation”).Exist(12) Then
Window(“Flight Reservation”).Close
Result = “Login Successful – Passed”
Else
SystemUtil.CloseDescendentProcesses
Result = “Login Unsuccessful – Failed”
End If
Msgbox Result
End Sub
Call Login(“abc”, “mercury”)
————————————-
Sub Login(Agent, Password)
SystemUtil.Run “C:\Program Files\HP\Unified Functional Testing\samples\flight\app\flight4a.exe”
Dialog(“Login”).Activate
Dialog(“Login”).WinEdit(“Agent Name:”).Set Agent
Dialog(“Login”).WinEdit(“Password:”).Set Password
wait 2
Dialog(“Login”).WinButton(“OK”).Click
If Window(“Flight Reservation”).Exist(12) Then
Window(“Flight Reservation”).Close
Result = “Login Successful – Passed”
Else
If Dialog(“Login”).Dialog(“Flight Reservations”).Exist(3) Then
Dialog(“Login”).Dialog(“Flight Reservations”).WinButton(“OK”).Click
Dialog(“Login”).WinButton(“Cancel”).Click
Result = “Login Unsuccessful – Failed”
End If
End If
Msgbox Result
End Sub
Call Login(“abc”, “mercury”)
‘Function Procedure with returning value
Function Login(Agent, Password)
SystemUtil.Run “C:\Program Files\HP\Unified Functional Testing\samples\flight\app\flight4a.exe”
Dialog(“Login”).Activate
Dialog(“Login”).WinEdit(“Agent Name:”).Set Agent
Dialog(“Login”).WinEdit(“Password:”).Set Password
wait 2
Dialog(“Login”).WinButton(“OK”).Click
If Window(“Flight Reservation”).Exist(12) Then
Window(“Flight Reservation”).Close
Login = “Login Successful – Passed”
Else
If Dialog(“Login”).Dialog(“Flight Reservations”).Exist(3) Then
Dialog(“Login”).Dialog(“Flight Reservations”).WinButton(“OK”).Click
Dialog(“Login”).WinButton(“Cancel”).Click
Login = “Login Unsuccessful – Failed”
End If
End If
End Function
res = Login(“abcd”, “mercury”)
Msgbox res
————————————————–
Note:
If we use local (Function level) variable then we can use the value within the Function only.
If we return (Function Name) the value then we can use the value within the Function and
we can pass the value to external functions and export the value to external files.
————————————————————
‘Function Procedure with returning multiple values
Function Verify_UpdateButton()
Dim Before_Open, After_Open, Verify1, Verify2
Window(“Flight Reservation”).Activate
Before_Open = Window(“Flight Reservation”).WinButton(“Update Order”).GetROProperty(“enabled”)
If Before_Open = False Then
Verify1 = “Update Button Disabled -Passed”
Else
Verify1 = “Update Button Enabled -Failed”
End If
Window(“Flight Reservation”).WinButton(“Button”).Click
Window(“Flight Reservation”).Dialog(“Open Order”).WinCheckBox(“Order No.”).Set “ON”
Window(“Flight Reservation”).Dialog(“Open Order”).WinEdit(“Edit”).Set “1”
Window(“Flight Reservation”).Dialog(“Open Order”).WinButton(“OK”).Click
After_Open = Window(“Flight Reservation”).WinButton(“Update Order”).GetROProperty(“enabled”)
If After_Open = True Then
Verify2 = “Update Button Enabled – Passed”
Else
Verify2 = “Update Button Disabled – Failed”
End If
Verify_UpdateButton = Array(Verify1, verify2)
End Function
Result= Verify_UpdateButton()
Msgbox Result(0)
Msgbox Result(1)
‘Calling a Function within the Function
Function OpenOrder(OrderNo)
Call Login(“abcd”, “mercury”)
Window(“Flight Reservation”).Activate
Window(“Flight Reservation”).WinButton(“Button”).Click
Window(“Flight Reservation”).Dialog(“Open Order”).WinCheckBox(“Order No.”).Set “ON”
Window(“Flight Reservation”).Dialog(“Open Order”).WinEdit(“Edit”).Set OrderNo
Window(“Flight Reservation”).Dialog(“Open Order”).WinButton(“OK”).Click
End Function
Call OpenOrder(7)
II) Built in Functions
1) Asc Function
Returns ANSI character code for first letter of a String or number.
‘A to Z (65 to 90)
‘a to z (97 to 122)
‘0 to 9 (48 to 57)
——————–
Ex:
Dim val
val = “ABCD”
Msgbox Asc(val) ’65
Msgbox Asc(“ABCD”) ’65
Msgbox Asc(“Z”) ’90
Msgbox Asc(“a”) ’97
Msgbox Asc(“z”) ‘122
Msgbox Asc(1) ’49
Msgbox Asc(“*”) ’42
—————————————
2) Chr Function
Returns Character value for ANSI character code
Ex:
Msgbox Chr(65) ‘A
Msgbox Chr(90) ‘Z
Msgbox Chr(97) ‘a
Msgbox Chr(122) ‘z
Msgbox Chr(49) ‘1
Msgbox Chr(42) ‘*
————————————
3) Abs Function
Returns absolute value (Positive value).
Msgbox Abs (100.34) ‘100.34
Msgbox Abs (100.74) ‘100.74
Msgbox Abs (-100.34) ‘100.34
———————————–
4) Round Function
Rounds the value to nearest integer.
Ex:
Msgbox Round(100.34) ‘100
Msgbox Round(100.74) ‘101
Msgbox Round(-100.34) ‘-100
—————————————
5) Array Function
It assigns Series of values at a time to a variable
ex:
Dim a
Msgbox IsArray(a) ‘False
a = Array(1, 2, 3, “abcd”, 2.34)
Msgbox IsArray(a) ‘True
msgbox a(1) ‘2
Msgbox UBound (a) ‘4
———————————
6) IsArray Function
Checks weather the Variable is Array variable or not?
Return Boolean (Logical) Result.
Ex:
Dim a, b(3), c(), d(4, 5)
Msgbox IsArray(a) ‘False
Msgbox IsArray(b) ‘True
Msgbox IsArray(c) ‘True
Msgbox IsArray(d) ‘True
—————————————-
7) IsNumeric
Checks weather the value is Numeric value or not?
Msgbox isNumeric(100) ‘True
Msgbox isNumeric(“100”) ‘True
Msgbox isNumeric(“abcd”) ‘False
Msgbox isNumeric(1.345) ‘True
Msgbox isNumeric(#10/10/2010#) ‘false
————————————
8) IsDate
Checks weather the value is Data type data or not?
Ex:
Msgbox IsDate(100) ‘False
Msgbox IsDate(“abcd”) ‘False
Msgbox IsDate(1.345) ‘false
Msgbox IsDate(#10/10/2010#) ‘True
Msgbox IsDate(#10/10/10#) ‘True
Msgbox IsDate(#Sep/10/2010#) ‘True
Msgbox IsDate(#December/10/2010#) ‘True
——————————-
9) IsEmpty
Checks weather the variable is empty variable or not?
Dim val
Msgbox IsEmpty(val) ‘True
val = 0
Msgbox IsEmpty(val) ‘False
val = Empty
Msgbox IsEmpty(val) ‘True
—————————————
10) Date Function
Returns current System Date.
11) Time Function
Returns current System Time.
12) Now Function
Returns current System Date & Time.
—————————-
Example:
Dim a
a = Date
Msgbox a
Msgbox Date
Msgbox Time
Msgbox Now
msgbox Date &” “& Time
Msgbox Time &” “& Date
———————————–
13) Datediff Function
Returns Date difference between two dates based on interval.
It deducts first date from second date.
Ex:
Dim date1, date2
date1 = #10/10/2010#
date2 = #10/10/2012#
Msgbox Datediff(“yyyy”, date1, date2) & ” Years”
Msgbox Datediff(“q”, date1, date2) & ” Quarters”
Msgbox Datediff(“m”, date1, date2) & ” Months”
Msgbox Datediff(“w”, date1, date2) & ” Weeks”
Msgbox Datediff(“d”, date1, date2) & ” Days”
Msgbox Datediff(“h”, date1, date2) & ” Hours”
Msgbox Datediff(“n”, date1, date2) & ” Minutes”
Msgbox Datediff(“s”, date1, date2) & ” Seconds”
——————————————————-
14) Left Function
Returns a specified number of charactors from left side of a string or number.
ex:
Dim val
val = 9249012345
msgbox Left(val, 5) ‘92490
Msgbox Left(“Hyderabad”, 3) ‘Hyd
Msgbox Left(123.456, 4) ‘123.
Msgbox Left(#10/10/2010#, 5) ’10/10
————————————————–
15) Right Function
Returns a specified number of characters from right side of a string or number.
Ex:
Dim val
val = 9249012345
msgbox Right(val, 5) ‘12345
Msgbox Right(“Hyderabad”, 3) ‘bad
Msgbox Right(123.456, 4) ‘.456
Msgbox Right(#10/10/2010#, 5) ‘/2010
——————————————
16) Mid Function
Returns a specified number of characters from a string or number.
Ex:
Msgbox Left(“Hyderabad”, 3) ‘Hyd
Msgbox Mid(“Hyderabad”, 1, 3) ‘Hyd
Msgbox Right(“Hyderabad”, 3) ‘bad
Msgbox Mid(“Hyderabad”, 7) ‘bad
Msgbox Mid(“Hyderabad”, 4, 3) ‘era
————————————————
17) Trim
18) LTrim
19) RTrim
Ex:
Dim val
val =” VBScript ”
msgbox val
Msgbox Trim(val)
Msgbox LTrim(val)
Msgbox RTrim(val)
—————————————————