4 Different Ways to Associate Function Libraries to your QTP Scripts
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 –
- 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 about the different ways using which you can associate function libraries to QTP Scripts. What are your views on this article? Can you think of any other points which I have missed and can be added here? Please let us know your views using the comments section. Happy Reading.. :–)