Most of the times, when you are creating test
scripts or are designing a new QTP Framework, you would be trying to come up
with reusable functions which you would have to store in the function library.
Now, in order to use this function library with multiple test cases, you need
to associate this function library with your scripts. This article explains the
4 methods that will help you in associating the function libraries in QTP Test
Cases.
Based on the type of framework you are using, you
can use any of the following methods to associate function libraries to your
QTP Script -
This is the most common method used to associate a
function library to a test case. To use this method, select File > Settings
option from the Menu bar. This will display the ‘Test Settings’ window. Click
on Resources from the left hand side pane. From the right hand side pane, click
on the ‘+’ button and select the function library that needs to be associated
with the test case.
Associate function Library to QTPAssociate function
Library to QTP
QTP AOM is a mechanism using which you can control
various QTP operations from outside QTP. Using QTP Automation Object Model, you
can write a code which would open a QTP test and associate a function library
to that test.
Example: Using the below code, you can open QTP,
then open any test case and associate a required function library to that test
case. To do so, copy paste the below code in a notepad and save it with a .vbs
extension.
Open QTP
Set objQTP =
CreateObject("QuickTest.Application")
objQTP.Launch
objQTP.Visible = True
'Open a test and associate a function library to the
test
objQTP.Open "C:\Automation\SampleTest",
False, False
Set objLib =
objQTP.Test.Settings.Resources.Libraries
'If the library is not already associated with the
test case, associate it..
If
objLib.Find("C:\SampleFunctionLibrary.vbs") = -1 Then ' If library is
not already added
objLib.Add "C:\SampleFunctionLibrary.vbs",
1 ' Associate the library to the test case
End
'Open QTP
Set objQTP =
CreateObject("QuickTest.Application")
objQTP.Launch
objQTP.Visible = True
'Open a test and associate a function library to the
test
objQTP.Open "C:\Automation\SampleTest",
False, False
Set objLib =
objQTP.Test.Settings.Resources.Libraries
'If the library is not already associated with the
test case, associate it..
If
objLib.Find("C:\SampleFunctionLibrary.vbs") = -1 Then ' If library is
not already added
objLib.Add
"C:\SampleFunctionLibrary.vbs", 1 ' Associate the library to the test
case
End
3. Using
ExecuteFile Method
ExecuteFile statement executes all the VBScript
statements in a specified file. After the file has been executed, all the
functions, subroutines and other elements from the file (function library) are
available to the action as global entities. Simply put, once the file is
executed, its functions can be used by the action. You can use the below
mentioned logic to use ExecuteFile method to associate function libraries to
your script.
Action begins
ExecuteFile "C:\YourFunctionLibrary.vbs"
'Other logic for your action would come here
'
'Action begins
ExecuteFile "C:\YourFunctionLibrary.vbs"
'Other logic for your action would come here
'.....
LoadFunctionLibrary, a new method introduced in QTP
11 allows you to load a function library when a step runs. You can load
multiple function libraries from a single line by using a comma delimiter.
'Some code from the action
'.....
LoadFunctionLibrary
"C:\YourFunctionLibrary_1.vbs",
"C:\YourFunctionLibrary_2.vbs"
'Other logic for your action would come here
'Some code from the action
LoadFunctionLibrary
"C:\YourFunctionLibrary_1.vbs" 'Associate a single function library
LoadFunctionLibrary "C:\FuncLib_1.vbs",
"C:\FuncLib_2.vbs" 'Associate more than 1 function libraries
'Other logic for your action would come here
This was all about the different ways using which
you can associate function libraries to QTP Scripts.
No comments:
Post a Comment