VBScript Tutorial 3

VBScript Tutorial 3:
(VBScript Variables Part-2, Constants, VBScript Operators, Conditional Statements Part-1)
iii) Variables
----------------------------
1) What is Variable?

2) Declaration of variables

3) Implicit and Explicit variables.

4) Assigning Values to Variables

5) Purpose of Variables

6) Naming Restrictions
-----------------------
i) Variable names should start with Alfa bytes

Ex:
Dim abc 'Correct
Dim a12 'Correct
Dim 1ab 'Incorrect

ii) Should not contain embedded periods

Ex:
Dim abc 'Correct
Dim ab c 'Incorrect
Dim ab.c 'Incorrect
Dim ab*c 'Incorrect
Dim ab_c 'Correct
----
iii) Must not exceed 255 characters

1 to 255
----------
iv) Must be unique in the scope of declaration.

Dim a, b, c 'Correct
Dim d, e 'Correct
Dim f, g, A 'Incorrect
-----------------------------------
7) Scope of Variables

i) Script Level Variables

They can be used for entire script.

ii) Function Level Variables

They can be used within the Functions only

Example:
-----------
Dim a, b, c 'Script level variables
a = 10
b = 20
c = a + b
Msgbox c '30
Function xyz()
    Dim d, e 'Function level variables
    d = 40
    e = a + d
    Msgbox e '50
End Function
Call xyz()
Dim f, g 'Script level variables
f = 70
g = b + d + f
Msgbox g '90
------------------------------
Option Explicit
Dim a, b, c 'Script level variables
a = 10
b = 20
c = a + b
Msgbox c '30
Function xyz()
    Dim d, e 'Function level variables
    d = 40
    e = a + d
    Msgbox e '50
End Function
Call xyz()
Dim f, g 'Script level variables
f = 70
g = b + d + f
Msgbox g 'Error
-----------------------------------
8) Types of Variables

i) Scalar Variable

To store one value at a time, Value may vary throughout the Execution.

ii) Array Variable

To store series of values at a time based on size of the Array.

Declare Array variable:

Dim a, b(3)
b(0) = 10
b(1) = "abcd"
b(2) = 1.34
b(3) = 40
a = b(0) + b(3)
Msgbox a '50
------------------
Dim a, b(3)
b(0) = 10
b(1) = "abcd"
b(2) = 1.34
b(3) = 40
b(4) = 50 'Error
a = b(0) + b(3)
Msgbox a '50
----------------------------------
Dynamic Array

Dim a, b(3), c()
ReDim c(3)
c(0) = 10
c(1) = 20
c(2) = 30
c(3) = 40
a = c(1) + c(2)
Msgbox a '50
ReDim c(5)
c(4) = 50
c(5) = 60
a = c(3) + c(5)
Msgbox a '60
------------------------
Use Preserve keyword

Dim a, b(3), c()
ReDim c(3)
c(0) = 10
c(1) = 20
c(2) = 30
c(3) = 40
a = c(1) + c(2)
Msgbox a '50
ReDim Preserve c(5)
c(4) = 50
c(5) = 60
a = c(3) + c(5)
Msgbox a '100
------------------------------------
Dimensional Arrays
----------------------
Dim a, b(3), c(), d(4, 5)
d(0, 0) = 10
-----------------------------------------
Assigning series of Values at a time to Array variables
a) Using Array Function

Dim a
Msgbox IsArray(a) 'False
a = Array(100, "VBScript", 20, 30, 40, #10/10/2010#)
Msgbox IsArray(a) 'True
Msgbox a(1) 'VBScript
Msgbox UBound(a) '5

b) Using Split Function

Dim a, b
a = "VB Script Language"
msgbox isArray(b) 'False
b = Split(a)
Msgbox IsArray(b) 'True
Msgbox b(1) 'Script
Msgbox UBound (b) '2
----------------------
Dim a, b
a = "VB,Script,Language"
msgbox isArray(b) 'False
b = Split(a, ",")
Msgbox IsArray(b) 'True
Msgbox b(1) 'Script
Msgbox UBound (b) '2
--------------------------
Dim a, b
a = "VB@Script@Language"
msgbox isArray(b) 'False
b = Split(a, "@")
Msgbox IsArray(b) 'True
Msgbox b(1) 'Script
Msgbox UBound (b) '2
----------------------------
Dim a, b
a = "VB@%$Script@%$Language"
msgbox isArray(b) 'False
b = Split(a, "@%$")
Msgbox IsArray(b) 'True
Msgbox b(1) 'Script
Msgbox UBound (b) '2
--------------------------------
Note: In Split Function default delimiter is space, we can use any value as delimiter, but we need specify the delimiter.
--------------------------------------
iv) Constants

They are used to replace literal values and they never change.

Constants 2 types
   
i) Built in constants

Ex: Msgbox VarType("abcd") '8

ii) User defined constants

Syntax:

Const ConstantName = ConstantValue

Or

Const Constant1Name = Constant1Value, Constant2Name = Constant2Value,Constant3Name = Constant3Value

Example:

Const city = "London", num = 100, x = #10/10/2010#
--------------------------------------------
Variables versus Constants

Dim city        Const city = "Hyderabad"
city="Hyderabad"    -------------
-----------        ---------------
-----------        city ="Mumbai" 'Error
---------
city="Mumbai"
-----------
-----------
---------
city="Delhi"
-----------
-----------
---------
-----------------------------------------------------
v) VBScript Operators

Operators are used to perform mathematical, comparison and logical operations.

Categories of operators:

i) Arithmetic Operators

ii) Comparison Operators

iii) Logical Operators
-------
* Concatenation operators (Part of Arithmetic Operators)

Operator precedence:

Operator precedence is VBScript operator priority process,
Generally VBScript evaluate operators from left to right, but if any high priority operator is there in right side then first VBScript evaluate high priority operator then general rule.

Note: In order to override operator precedence, use () symbol

Example:

Msgbox 2 + 2 * 4 ^ 2 '34
Msgbox (2 + 2) * 4 ^ 2 '64
-----------------
Msgbox 2 + 2 * 4 '10
Msgbox (2 + 2) * 4 '16
------------------------------------
i) Arithmetic Operators

1) Exponentiation ^

2) Multiplication *

3) Division /

4) Integer Division \

5) Mod Operator

6) Addition +

7) Subtraction -

8) Concatenation &
---------------------------------
Example:

Dim a, b, c
a = 10
b = 3
c = a ^ b
Msgbox c '1000

c = a * b
Msgbox c '30

c = a / b
Msgbox c '3.33333333333

c = a \ b
Msgbox c '3

c = a Mod b
Msgbox c '1

c = a + b
Msgbox c '13

c = a - b
Msgbox c '7

c = a & b
Msgbox c '103
--------------------------------
+ Operator
-----------------
Dim a, b, c
a = 10
b = 3
c = a + b
Msgbox c '13

a = 10
b = "3"
c = a + b
Msgbox c '13

a = "10"
b = "3"
c = a + b
Msgbox c '103

a = "Hydera"
b = "bad"
c = a + b
Msgbox c 'Hyderabad

a = "Hyderabad"
b = "123"
c = a + b
Msgbox c 'Hyderabad123

a = "Hyderabad"
b = 123
c = a + b
Msgbox c 'Error
-------------------------------------
& Operator

Dim a, b, c
a = 10
b = 3
c = a & b
Msgbox c '103

a = 10
b = "3"
c = a & b
Msgbox c '103

a = "10"
b = "3"
c = a & b
Msgbox c '103

a = "Hydera"
b = "bad"
c = a & b
Msgbox c 'Hyderabad

a = "Hyderabad"
b = "123"
c = a & b
Msgbox c 'Hyderabad123

a = "Hyderabad"
b = 123
c = a & b
Msgbox c 'Hyderabad123
---------------------------------
ii) Comparison Operators (All are Equal)

1) >

2) >=

3) <

4) <=

5) =

6) <>
--------------------------
Note: Comparison operators return Boolean (logical) result.
Ex: True / False
--------------------------
Example:

Dim a, b, c
a = 10
b = 3
c = a > b
Msgbox c 'True

c = a >= b
Msgbox c 'True

c = a <> b
Msgbox c 'True

c = a < b
Msgbox c 'False

c = a <= b
Msgbox c 'False

c = a = b
Msgbox c 'False
----------------------------------------------
iii) Logical Operators

1) Not (Logical Negation)

If Not Dialog("Login").Exist(3) Then
SystemUtil.Run "C:\Program Files\HP\Unified Functional Testing\samples\flight\app\flight4a.exe","","C:\Program Files\HP\Unified Functional Testing\samples\flight\app\",""
End If
Dialog("Login").Activate @@ hightlight id_;_525276_;_script infofile_;_ZIP::ssf1.xml_;_
Dialog("Login").WinEdit("Agent Name:").Set "asdf" @@ hightlight id_;_66772_;_script infofile_;_ZIP::ssf2.xml_;_
Dialog("Login").WinEdit("Password:").SetSecure "555fe8c872cfa7718d3ea9b61ac921c85ea7371b" @@ hightlight id_;_66774_;_script infofile_;_ZIP::ssf3.xml_;_
Dialog("Login").WinButton("OK").Click @@ hightlight id_;_66776_;_script infofile_;_ZIP::ssf4.xml_;_
--------------------------------------
2) And (Logical Conjunction)
Dim a, b, c
a = 100
b = 90
c = 80

If a > b And a > c Then
    Msgbox "A is a Big Number"
    Else
    Msgbox "A is Not a Big Number"
End If
---------------------
Result Criteria:

Exp1    Exp2    Result
------------------------
True    True    True
True    False    False
False    True    False
False    False    False
--------------------------------
3) Or (Logical Disjunction)

Result Criteria:

Exp1    Exp2    Result
------------------------
True    True    True
True    False    True
False    True    True
False    False    False

4) XOr (Logical exclusion)

Result Criteria:

Exp1    Exp2    Result
------------------------
True    True    False
True    False    True
False    True    True
False    False    False
----------------------------------------------------
vi) Flow Control Statements
    Conditional Statements
    Loop Statements
----------------------
Conditional Statements

a) Types of Conditional statements
i) If Statement

ii) Select Case Statement
----------------------------
b) Types of Conditions

i) Single Condition

ii) Compound Condition

iii) Nested Condition
----------------------------
c) Purpose of conditional statements in UFT:

i) To insert verification points

ii) For Error handling
------------------------------   
d) Usage of Conditional Statements

i) Execute a statement when condition is True/ Simple If

ii) Execute a block of statements when condition is True.

iii) Execute a block of statements when condition is True, otherwise
execute another block of statements.

iv) Decide among several alternates (ElseIf)

v) Execute a block of statement when more than one condition is true. (Nested If)

vi) Decide among several alternates (using select Case)
--------------------------------------------------------------------
i) Execute a statement when condition is True/ Simple If
Syntax:

If Condition Then Statement

Example:

Dim myDate
myDate = #10/10/2010#

If myDate < Date Then myDate = Date
Msgbox myDate

myDate = #10/10/2017#

If myDate < Date Then myDate = Date
Msgbox myDate
-----------------------------------------------------
ii) Execute a block of statements when condition is True.
Syntax:

If Condition Then
Statements
-----------
----------
----------
End If
--------------------------
Example:

Dim a, b
a = 100
b = 500

If a > b Then
    Msgbox "A is a Big Number"
End If
--------------------------------------------

0 comments:

Post a Comment