Tuesday, 30 September 2014

Functions

Functions

Sub procedure:
Sub: Declares the name, arguments and code that form the body of a Sub procedure.
Syntax:
 Sub name [(arglist)]
   [statements]
   [Exit Sub]
   [statements]
End Sub

Arguments:



Public: Indicates that the Sub procedure is accessible to all other procedures in all scripts.
Default: Used only with the Public keyword in a Class block to indicate that the Sub procedure is the default method
for the class. An error occurs if morethan one Default procedure is specified in a class.
Private: Indicates that the Sub procedure is accessible only to other procedures in
 the script where it is declared.
name:
Name of the Sub; follows standard variable naming conventions.
arglist: List of variables representing arguments that are passed to the Sub procedure when it is called. Commas
separate multiple variables.
statements: Any group of statements to be executed within the body of the Sub procedure.
Example:

Addition 5 , 4
 
Sub Addition( num1,num2)
 
Result=num1+num2
Msgbox  "The Sum of the numbers is    "  &  Result
 
End Sub


Function:

Declares the name, arguments, and code that form the body of a Function procedure.

Syntax:
Function name [(arglist)]
   [statements]
   [name = expression]
   [Exit Function]
   [statements]
   [name = expression]
End Function

Arguments:


Public: Indicates that the Function procedure is accessible to all other procedures in all
 scripts.
Default: Used only with the Public keyword in a Class block to indicate that the Function procedure 
is the default methodfor the class. An error occurs ifmore than one Default procedure is specified
 in a class.
Private:  Indicates that the Function procedure is accessible only to other procedures in the 
script where it is declared or if the  function is a member of aclass, and that the
 Function procedure is accessible only to other procedures in that class.
name: Name of the Function; follows standard variable naming conventions.
arglist: List of variables representing arguments that are passed to the Function procedure 
when it is called. Commas separate multiple variables.
statements: Any group of statements to be executed within the body of the Function procedure.
expression: Return value of the Function.
Example:

Result=Addition(5,4)

Msgbox  "The sum of the number is " & Result 

Function Addition( num1,num2) 
Addition=num1+num2 
End Function  


Call:  
Transfers control to a Sub or Function procedure.

Syntax:
[Call] name [argumentlist]
Arguments:


Call: (Optional) keyword, If specified, you must enclose argumentlist in parentheses.
name: (Required) Name of the procedure to call.
argument list: (Optional) Comma-delimited list of variables, arrays, or expressions to 
pass to the procedure.
Example:

'Call a Sub procedure
Call Addition(5 , 4)
 
Sub Addition( num1,num2)
Result=num1+num2
Msgbox  "the Sum of the numbers is    "  &  Result
 
End Sub


Function Library & Associating Function library to a Test
Different Types of Library files
Different types of library files are ".qfl" files,".Vbs" files

Steps to follow to create Function Library:
1. Functions are created manually:
     File-->New-->Function library(Enter the functions)

2. Save the functions:
      File--> Save (File is saved as .qfl file)

3. Associating Function library to a Test:
     Test --> Settings --> Choose Resources tab --> Choose + button so select the ".qfl" file --> browse and select the ".qfl" file -->
      click OK.


How to use library files in QTP & how we can call these files in to script?

We can load the external Library files by using 2 ways:

1. Choose Test --> Settings --> Choose Resources tab --> Choose + button so select the library file -->  browse and select the
     library file --> click OK.

2.  We can load the library files using Scripting:

Use execute file function to load library files:

Step1. Open a notepad and paste the below function

Example: 

'Code in External Library file(sample.vbs file).
 
function SumOfTwoNumbers(a,b)
Dim sum
sum=a+b
SumOfTwoNumbers=sum
End Function

Step2. Save the notepad as a .vbs file(sample.vbs) in path "D:\Sample.vbs"

Step3. Paste the below code in QTP and execute,You will find that the below code access function from the "sample.vbs" file

Example:

executefile "D:\Sample.vbs"
x=10
y=5
result=SumOfTwoNumbers(x,y)
msgbox result


Example 1
function library------------------------------------------------------------------------------
Public Function Open_browser(ByVal URL)
Set obj=createobject("InternetExplorer.application")
obj.visible=true
obj.navigate(URL)

       ' TODO: add function body here
End Function


Test-------------------------------------------------------------------------------------------
Open_browser("www.gmail.com")



Example-2
function library------------------------------------------------------------------------------ 
Public Function VerifyProperty(ByVal Test_obj, ByVal Actual_value, ByVal Expectedvalue)
    Dim var
    var=Test_obj.GetROProperty(Actual_value)
    If var=Expectedvalue Then
        msgbox "Expected value equals to actual value"
        else
        msgbox "Expected value not equals to actual value"

    End If
End Function
RegisterUserFunc "WinEdit","Verify","VerifyProperty"



Test-------------------------------------------------------------------------------------------
'
'Window("Window").Window("Start Menu").WinButton("All Programs").Click
SystemUtil.Run "C:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe","","C:\Program Files\HP\QuickTest Professional\samples\flight\app\","open"
Dialog("Login").WinEdit("Agent Name:").Verify "attached text","Agent Name:"
Dialog("Login_2").WinButton("Cancel").Click






 

No comments:

Post a Comment