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 test script. There
are 4 methods to associate function library to QTP test.
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 -
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 -
·
1) By using ‘File > Settings > Resources >
Associate Function Library’ option in QTP.
·
2) By using Automation Object Model (AOM).
·
3) By using ExecuteFile method.
·
4) using LoadFunctionLibrary method.
Let’s see in detail how each of these methods can be used to map function libraries to your test scripts.
1. Using ‘File > Settings > Resources > Associate
Function Library’ option from the Menu bar
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.
2. Using AOM (Automation Object Model)
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
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
'.....
4. Using LoadFunctionLibrary Method
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" '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 different way to
associate function library to QTP test.
No comments:
Post a Comment