For QTP Tutorials & Interview Questions, go to http://qtp.blogspot.

com

VBScript in QTP
Table of Contents VBScript in QTP……………………………………………………………………………… 2 VBScript Variable…………………………………………………………………………… 3 VBScript Arrays ………………………………………………………………………………5 VBScript Functions and Subroutines…………………………………………….. 8 VBScript Conditional Statements…………………………………………………..11 VBScript Looping Statements………………………………………………………. 15 VBScript Classes …………………………………………………………………………….20 VBScript- Property Let, Property Get, Property Set…………………….. 25 Example of VBScript - Property Let, Property Get, Property Set… 30

For QTP Tutorials & Interview Questions, go to http://qtp.blogspot.com

1

For QTP Tutorials & Interview Questions, go to http://qtp.blogspot.com

VBScript in QTP

Scripting language for QuickTest Professional (QTP) is VBScript.

VBScript (short for Visual Basic Scripting Edition) is a lively scripting language interpreted via Microsoft's Windows Script Host.

VBScript has many powerful functions and provides excellent support for variables, data types, and error handling.

Two script engines can interpret VBScript- VBScript.dll, which is invoked by asp.dll is used in web environment and Wscript.exe & Cscript.exe in Windows GUI environment using Windows script Host (WSH, We typically use VBScript within WSH to automate systems administration tasks. WSH is the system module that transforms a VBScript file into a Windows executable file). Wscript.exe is used to display output and receive input in Windows GUI format such as dialog and input boxes. Cscript.exe is used in a command-line environment. When VBScript source code is contained in stand-alone files, they have the file extension .vbs.

For QTP Tutorials & Interview Questions, go to http://qtp.blogspot.com

2

For QTP Tutorials & Interview Questions, go to http://qtp.blogspot.com

VBScript Variable In VBScript all variables are of the type variant that can store any type of value. The name of a variable in VBScript must begin with a letter and it cannot contain period (.) and its maximum length can be of 255 characters. It must be distinctive (unique) within the scope in which it is declared. If we declare a variable inside a procedure then its scope is local to that procedure and only code within that procedure can access it, but if we declare a variable outside a procedure in a script, it is available to all the procedures in a script. Procedure level variable exits as long as we are in the procedure and a life of a script level variable is the time it is declare up till the time script finishes. Variables can be declared explicitly and implicitly. Explicitly variables are declared with Dim statement, Public Statement, Private Statement. Dim Name Dim Name, employee_address, city Implicitly we can declare them within the script by just using the variable name. But this practice is prone to errors. We can compel VBScript to require all variables to be explicitly declared by including the statement Option Explicit at the start of every script. VBScript does not provide support for constants. From VBScript 5.0 onwards programmers are able to create class constructs in VBScript-A step towards OOP. Variables declared by Dim and Public are public in nature (accessible outside of the class). By default also variables are Public in nature. With Private we can declare variables not visible outside of the class. Example of a variable: Enter this in notepad, save the notepad with some name and .html extension (like I saved it in c:\pro\a.html where pro is a name of a folder)

For QTP Tutorials & Interview Questions, go to http://qtp.blogspot.com

3

html and press enter.vbs where pro is a name of a folder) dim variable_name variable_name =InputBox("Enter your name:") MsgBox("Your name is " & variable_name) Now go to command prompt(C:\>) and type pro\c and hit enter ( no need to type extension) For QTP Tutorials & Interview Questions.blogspot. go to http://qtp.blogspot.com Now open internet explorer and in the address bar type c:\pro\a.vbs extension (like I saved it as c:\pro\c. go to http://qtp.For QTP Tutorials & Interview Questions. Another example that you can try is: Another example of getting input from the user: Enter the below code in notepad and save it with .com 4 .

go to http://qtp. The size of the dynamic array changes during the time our script is running. By default. The array is initially declared using either the Dim statement or using the ReDim For QTP Tutorials & Interview Questions. Every element of an array is associated with a unique index number. The optional key word "Preserve" states that all of the old elements must be preserved when changing the array size.blogspot. 1) Dim variable_name(upper_limit) [As data_type] If “As data_type” is not specified. it will be a variant.com VBScript Arrays Below I have explained all the ways to initialize and use arrays in VBScript. The array size limit is upper_limit +1 because index starts from 0. go to http://qtp. 2) Dim variable_name() [As data_type] ReDim [Preserve] variable_name(upper_limit) Firstly we declare an array with no upper limit and then with redim we reset the upper bound to a new value.For QTP Tutorials & Interview Questions. Above we have declared a fixed size array. Arrays can have multiple dimensions-VBScript supports up to 60. index number starts from 0.com 5 . The number of elements in an array is a fixed number. It can also be re-adjusted dynamically.blogspot.

3) variable_name = Array(element1.. Dim array_dynamic() ' Size the dimension to contain one dimension with 3 elements ReDim array_dynamic(2) ' Put data in the array array_dynamic(0) = "1" array_dynamic(1) = "2" array_dynamic(2) = "3" ' Resize the array.blogspot. . ReDim sets the initial size of the dynamic array to 25 ReDim first_Array(25) We can resize a dynamic array unlimited number of times.) Array function takes values of variant type and returns a dynamic sized array.com statement. The arguments are a listing of values that will become the elements of the array.15. element2. go to http://qtp. no size or number of dimensions is placed inside the parentheses. For a dynamic array.. dim a a=Array(5.20) document. but keep the existing data ReDim Preserve array_dynamic(5) ' Display the 3rd element MsgBox array_dynamic(2) MsgBox displays 3.com 6 .write(a(3)) Output:20 For QTP Tutorials & Interview Questions.10. go to http://qtp.For QTP Tutorials & Interview Questions. Dim first_Array() ReDim second_Array() In the below example.blogspot.

com Some of the Array keywords and their uses: Keyword Dim Erase IsArray LBound Preserve ReDim UBound Function It will Declare an array Reinitializes the elements if it is a fixed-size array and deallocates the memory used if it is a dynamic array. will Return an upper bound of array For QTP Tutorials & Interview Questions. This is used to size or resize a dynamic array. will Return True if A is an array.when you resize it. in VBScript it will always returns 0 Preserve (Optional) is used to preserve the data in an existing array. False if it is not will Return lower bound of an array.com 7 . go to http://qtp. go to http://qtp.For QTP Tutorials & Interview Questions.blogspot.blogspot.

VBScript functions are described using the Function and End Function keywords.For QTP Tutorials & Interview Questions. go to http://qtp. Adding numbers by passing parameters: For QTP Tutorials & Interview Questions.blogspot.blogspot.com 8 . go to http://qtp.com VBScript Functions and Subroutines The main difference between a function and a subroutine is that a subroutine will do some processing of the code and then quit. while a function processes some code and then returns the result back.

enclosed by Sub and End Sub statements I have written the calling statement (call square()) in the script itself. go to http://qtp.blogspot.For QTP Tutorials & Interview Questions.com Function to get square of a number: A Sub procedure is a series of VBScript statements. go to http://qtp.com 9 .blogspot. For QTP Tutorials & Interview Questions.

com Passing variable by reference example: This shows that only the address is being passed that is why it is showing the updated value third time in Back in mysub. go to http://qtp. go to http://qtp.blogspot. Passing variable by value example: This shows that another value is being passed as can be seen by the result of the third x as in Back in mysub.blogspot. For QTP Tutorials & Interview Questions.For QTP Tutorials & Interview Questions.com 10 .

com 11 .blogspot. go to http://qtp.For QTP Tutorials & Interview Questions.else statement Example of if without else: 1) if i=2 Then msgbox "Hello World" 2) 3) More than one statement can be executed for truth condition by putting the statements on separate line..com VBScript Conditional Statements Three types of conditional statements are there in VBScript.. go to http://qtp. if.blogspot. if i=2 Then msgbox "Hello World" i = i+1 end If For QTP Tutorials & Interview Questions..then..

go to http://qtp.then.com 12 .then..blogspot..." end If For QTP Tutorials & Interview Questions.elseif statement 1) if fee="Cash" then msgbox "pay cash!" elseif fee="Visa" then msgbox "pay with visa." else msgbox "Unknown method of Payment." elseif fee="American Express" then msgbox "pay with American Express..For QTP Tutorials & Interview Questions..blogspot. go to http://qtp.com Example of if...else 1) if i=2 then msgbox "Hello World" else msgbox "Thank You" end If 2) if..

blogspot.For QTP Tutorials & Interview Questions.com 13 . go to http://qtp.blogspot.com 2) Select case statement 1) select case fee case "Cash" msgbox "pay cash" case "Visa" msgbox "pay with visa" case "American Express" msgbox "pay with American Express" case Else msgbox "Unknown method of fee" end select For QTP Tutorials & Interview Questions. go to http://qtp.

go to http://qtp. the block of code associated with that case is executed. For QTP Tutorials & Interview Questions.com 14 .com 2) 3) A single expression (usually variable) is evaluated once and its value is then compared with the values for each case.For QTP Tutorials & Interview Questions. go to http://qtp.blogspot. If there is no match then Else case is executed.blogspot. If there is a match.

we can increase or decrease the counter by the value specified. go to http://qtp.com 15 .Next 1) Loop Loop Loop Loop #0 #1 #2 #3 With the help of Step keyword. go to http://qtp.blogspot..blogspot.For QTP Tutorials & Interview Questions. 1) For i=2 To 8 Step 2 any code Next 2) For i=8 To 2 Step -2 any code Next For QTP Tutorials & Interview Questions..com VBScript Looping Statements WE have four looping statements in VBScript For.

write(x & "") Next Do.blogspot... go to http://qtp. go to http://qtp.Next statement It is useful when we don’t know how many elements are there in the array. For QTP Tutorials & Interview Questions. the code inside the loop above will never be executed.Loop It will repeat a block of code while a condition is True or until a condition becomes True 1) Do While i>9 some code Loop If i equals 8.For QTP Tutorials & Interview Questions.com 16 .com For Each..blogspot. 1) 2) dim names(2) names(0)="happy" names(1)="Sumit" names(2)="Love" For Each x in names document..

blogspot. even if i is equal to 9. the code inside the loop will never be executed.com 2) Do some code Loop While i>9 The code inside this loop will be executed at least one time.. The While and the Until condition may be placed after the Do or the Loop. Some Examples: 1) num = 1 Do num = num + 1 Loop Until num = 5 2) num = 1 Do While num < 5 num = num + 1 Loop For QTP Tutorials & Interview Questions. 2) Do some code Loop Until i=9 The code inside this loop will be executed at least one time.com 17 .. Repeating Code Until a Condition Becomes True 1) Do Until i=9 some code Loop If i equals 9. even if i is less than 9. go to http://qtp. The Exit statement can only be used within a Do. go to http://qtp.Loop.Loop control structure to provide an alternate way to exit a Do.blogspot.. We must end all Do statements with Loop or otherwise error message will pop up.For QTP Tutorials & Interview Questions..

com 18 .For QTP Tutorials & Interview Questions..... go to http://qtp. and as long as i is greater than 9..blogspot.com 3) num = 1 Do num = num + 1 br>Loop While num < 5 Exit a Do.Loop statement with the Exit Do keyword.Loop You can exit a Do. While. go to http://qtp.Wend statement While Loop is a simple loop that keeps looping while a condition is true 1) 9 8 7 6 5 4 3 For QTP Tutorials & Interview Questions. 1) Do Until i=9 i=i-1 If i<9 Then Exit Do Loop The code inside this loop will be executed as long as i is different from 9..blogspot.

"33") nPos has a value of 3 because "33" begins in the third position of "123345. In nPos = InStr("123345".blogspot. Do Until myValue > 1 myValue = myValue + 1 Loop 7. I shared 10 basic VBScript techniques.html?Ad=1 In my June 2001 column. The function returns the starting position of the substring or a 0 if the function doesn't find the string." 8.com/Articles/ArticleID/20979/20979.blogspot. You use subroutines when you don't need to return a value to the calling code. . For QTP Tutorials & Interview Questions.com 2 1 Finish! Please go here for 10 VBScript techniques http://www. On Error—The On Error statement lets a script trap runtime errors and continue executing. 10.com 19 . go to http://qtp.windowsitpro. The Do Loop—This basic mechanism for repeatedly executing a set of statements comes in two forms: a Do Until Loop and a Do While Loop. . For those who want to step up a level and begin writing productive administrative scripts. here are 10 more VBScript techniques. go to http://qtp. You can test for errors in the script after each statement has executed.For QTP Tutorials & Interview Questions. On Error Resume Next 9. The most important distinction between the two loops is that the Do Until Loop always executes at least once. Subroutines—Modularizing your code into subroutines lets you organize your scripts and create reusable routines. You can define subroutines anywhere in a script. InStr—This function lets you locate a substring in a string. .

com 20 . Members within the class can be declared as private and public. VBScript uses the Class.vbs and run it.Say_Hello "Sachin" Above we have created a class (Hello_World) and an instance (MyHello_World) of that class. Public is default.For QTP Tutorials & Interview Questions." End Sub Public Garden End Class Dim MyHello_World Set MyHello_World = New Hello_World MyHello_World. save it as . Write the whole code written above in notepad.blogspot.. Procedures (Sub or Function) declared Public within the class are methods of the class. Property Let will allow code outside of the class to assign a value to a private variable of the class.g if the For QTP Tutorials & Interview Questions. go to http://qtp. This procedure can also handle the process of data validaiton to check some validation e. go to http://qtp. Public variables serve as properties of the class.blogspot. " & Name & ".com VBScript Classes Class Hello_World Public Sub Say_Hello(Name) MsgBox "Hello.Garden = "Fountain" MyHello_World.. The property (Garden) and procedure (Say_Hello) are also declared within the class.End Class statements to define the contents of the class. Private members are only visible within the class whereas public members are accessible by any code outside of the class. Class A Private name Public Property Let assign_name(e_Name) name = e_Name End Property End Class A Property Let procedure must accept at least one argument. welcome to " & Garden & ".

For this you have to add an additional argument to the property's corresponding Property Let or Property Set procedure because a Property Let/Set procedure must always have exactly one more argument than its corresponding Property Get procedure. however VBScript allows you to add an argument. Below op_sys is an object read-write property.com value you are assigning is more than 5 characters long or not. go to http://qtp.For QTP Tutorials & Interview Questions.This is an object property assignment procedure used to assign the new property value to the private object variable (if the private variable is an object). Class Machine Private obj_oOS Public Property Set op_sys(oObj) Set obj_oOS = oObj End Property Public Property Get op_sys( ) Set op_sys = obj_oOS End Property End Class For QTP Tutorials & Interview Questions. Class A Private name Public Property Let assign_name(e_Name) name = e_Name End Property Public Property Get assign_name() assign_name = name End Property End Class The Property Get procedure does not accept any arguments.blogspot.blogspot. Property Get will allow code outside of the class to read the value of a private property variable.com 21 . Property Set . go to http://qtp.

For QTP Tutorials & Interview Questions.blogspot. go to http://qtp.com We can make a property Read-Only in two ways: 1) By writing only a Property Get procedure for the property:.com 22 . go to http://qtp. For QTP Tutorials & Interview Questions. code outside of the class cannot write to the employeeName property.blogspot.In the absence of a Property Let procedure. Class employee Private ename Public Property Get employeeName() employeeName = ename End Property End Class 2) By declaring the Property Get procedure as Public and the Property Let procedure as Private: Class employee Private ename Private Property Let employeeName(strName) ename = strName End Property Public Property Get employeeName() employeeName = ename End Property End Class Class Methods: When functions or procedures are written inside the class they are called methods. and a method that is declared as Private will be available only to code inside the class. If a class method is declared as Public then it will be available to code outside or inside the class.

Showwelcome "Casual" End With Set my_object = Nothing Class Events Class_Initialize and Class_Terminate are associated with every class that we create.Showwelcome "Informal" .For QTP Tutorials & Interview Questions. " Case "Informal" Makewelcome = "Hello there.blogspot." End Sub Private Function Makewelcome(var_type) Select Case var_type Case "Formal" Makewelcome = "welcome.Showwelcome "Formal" .com Class welcome Private ur_name Public Property Let Name(var_name) ur_name =var_name End Property Public Sub Showwelcome(var_type) MsgBox Makewelcome(var_type) & ur_name & ". " Case "Casual" Makewelcome = "Hey.blogspot.Name = "sachin" . " End Select End Function End Class Dim my_object Set my_object = New welcome With my_object . e. go to http://qtp.com 23 . go to http://qtp.g Set objectname = New classname Class_Initialize event's general format is: For QTP Tutorials & Interview Questions. Class_Initialize is fired whenever an object based of a class is instantiated.

go to http://qtp.blogspot.php?Cat=0&Number=348942&page=0&fp art=all&vc=1) and some class concepts: For QTP Tutorials & Interview Questions. Class_Terminate event's general format is: Private Sub Class_Terminate( ) 'Termination code goes here End Sub Another example of a class Below you will see file system objects of VBScript which allows you to access. http://msdn2.com/en-us/library/aa711216(VS. open.com/showflat.microsoft.com 24 .aspx Things VBScript can’t do (got from http://www.sqaforums. delete (and much more) files on the operating system.blogspot.com Private Sub Class_Initialize( ) 'Initalization code goes here End Sub The Class_Terminate event is fired when the object goes out of scope. or when the object is set to Nothing. copy.71).For QTP Tutorials & Interview Questions. go to http://qtp.

Property Let. then override that method to implement animal unique behavior).com To summarize. but then you have to add an additional argument to the property's For QTP Tutorials & Interview Questions. a different namespace). Property Let: Which is used by the outside code to store a value in the private property variable.blogspot.com 25 . where you are not trying to build large complex OO programs.this value is the private variable value. go to http://qtp. You can add an argument to it. where for example a Dog class will “bark” and a Pig class will “oink” when they are asked to “speak” (in a class hierarchy where they inherited the base Speak() method from the Mammal class.e. Kind of a related to inheritance. It is similar to a procedure in the sense that it does not return a value. etc. with encapsulation comes namespace control--which permits any number of class elements to be named foo as long as each of those elements resides in a different class (i. 3. 2. And. The Property Get procedure does not accept any arguments. To retrieve the value of a private variable we will retrieve the value of a property.blogspot. DOES support encapsulation.For QTP Tutorials & Interview Questions. A Property Let procedure must accept at least one argument. Does NOT support inheritance. It is similar to a function in the sense that it returns a value to the calling code -. an OO technique which conceals how a particular class is implemented. Encapsulation is then the primary reason to consider using VBScript classes. Another way to think about encapsulation is to say it is the ability to hide implementation details while sharing higher level behavior. VBScript. By default. If the private variable you are using is an object then the process of assignment and data validation is handled by Property Set. Property Get: This is used by code outside of your class to read the value of a private property variable. Property Set Class properties in VBScript are used to assign values to private variable and handle the process of data validation. Property Get. independent from objects that use the class’s Public Properties and Methods. Does NOT support polymorphism. Property Set: Similar to Property Let but used for object based properties. the VBScript class concept: 1. So it is not possible to create a Collie class which inherits characteristics from a Dog class which inherits characteristics from a Mammal class. go to http://qtp. It is this author’s opinion that the lack of inheritance and polymorphism are not major shortcomings in scripting environments such as WSH and especially QTP. the Property Set procedure is Public.

and a two read-write properties. which shows a simple class that defines a private variable. the latter of which is an object property. Property Get. For QTP Tutorials & Interview Questions. Property Set Below Example. because Property Let/Set procedure must always have exactly one more argument than its corresponding Property Get procedure. one_type and two_type. Read only Properties have only Property Get procedure Write-only properties have only a Property Let or a Property Set procedure Read-Write properties have a Property Get procedure and either a Property Let or a Property Set procedure Example 1 of Property Let.blogspot.com 26 .blogspot. go to http://qtp.com corresponding Property Let or Property Set procedure. m_var. go to http://qtp.For QTP Tutorials & Interview Questions. If the property get procedure returns an object then we can use the set statement (but it works well without set also) to return the value.

blogspot.blogspot.com Example 2 of Property Set Here is the syntax for a Property Set procedure.For QTP Tutorials & Interview Questions. For QTP Tutorials & Interview Questions. go to http://qtp. go to http://qtp. here is what code that is using an object based on the above class might look like. For example.com 27 .

blogspot. Without the Set statement at the beginning of the last line. Most programmers using this class would expect this. When a property on a class is object based.com 28 . it is typical to use a Property Set procedure. VBScript would produce an error.blogspot. with the property Set and Property Get Statements might look like: The end developer would use the Property Set statement in the following manner: For QTP Tutorials & Interview Questions. go to http://qtp.For QTP Tutorials & Interview Questions. This is required because the Main_class class used a Property Set procedure for the FSPro property.com Last line uses the Set Statement when it writes to the FSPro property. This class definition. go to http://qtp. Example 3 of Property Set For example imagine we had a class that contained a private property named ob_var_conn that was expected to be an ADO Connection object.

This argument list must be identical to the corresponding Property Get's argument list.For QTP Tutorials & Interview Questions. go to http://qtp.blogspot.blogspot.com As with the Property Let statement.com 29 . go to http://qtp. the Property Set statement has an optional argument list. For QTP Tutorials & Interview Questions.

com 30 . go to http://qtp.com Example of VBScript . Property Get.Property Let.blogspot.For QTP Tutorials & Interview Questions.blogspot. go to http://qtp. Property Set For QTP Tutorials & Interview Questions.

Sign up to vote on this title
UsefulNot useful