How to get a QC resource using QTP with OTA

QTP/UFT Published on:
Code Hacker

In this video I show a simple example on how to use Quality Center’s Open Test Architecture (OTA) in QuickTest Pro.

QTP using OTA to download a QC Test Resource

Code used in video to get a QC test resource:


* About the code:


The QCUtil object is used to access the Quality Center Open Test Architecture (OTA) interface. You can use the properties associated with the QCUtil object to return Quality Center OTA objects.  Using the property QCConnection object, allow you to interact with the current Quality Center session and provides access to the Quality Center object model.

The QCResourceFactory object allows you to manage the QC resources section.  You can use the Filter property to locate the resource that you want. Then the Filter’s NewList method is used to create a list of objects according to the specified filter.

To save and retrieve files from a QC test set ‘attachment' tab check out:QC & QTP – How to Attach a File to a Test Sets Attachment Tab

9 responses to “How to get a QC resource using QTP with OTA”

  1. […] by Joe Colantonio TweetUsing Quality Center’s Test Resource module is really helpful when you need to use test information across multiple tests, lab machines and environments. Here are some QuickTest Pro functions I created to save and get a “test resource” from Quality Center. ( Also check out my video : How to get a QC resource using QTP with OTA) […]

  2. Just wondering if you knew how to download a specific baseline of a Resource?

    The DownloadResource functionality only appears to get the latest and not a specified version. At runtime I want to check whether a test is “pinned to baseline” from QC which I believe I can do through the Test.VCS properties but I cannot see how to then use that to grab it’s resources of the same baseline?

    • Gareth » HI Gareth – I’m not sure. I will have to try and see if I can figure it out. I’ll let you know what I find. Please let me know if you find a solution first.Cheers~Joe

  3. Joe,
    Need your help.
    Goal : To load a function library stored in QC Resource from qtp script which has been called from QC Run test set.
    1. Mt QTP script thats been attached to each QC tests will attempt tp load function library and use its methods.
    2. This was working before for me since I was storing all my function libraries & datafiles under QTP’s machine.
    3. Now I want to use QC’s resource folder since it can be accessed by all team members and moved the function libraries to QC path “[QualityCenter] Resources\My Automation Resources\Mastercript\”.
    4. When I attempted to LoadLibrary by providing the QC path, it not taking.
    5. Could you please help on how to load function library from resource that can be used in the current qtp script initiated from QC ?
    ‘Before using QC : Worked for me
    g_qc_framework_root = C:\\My Automation Resources\Mastercript\”

    LoadFunctionLibrary g_qc_framework_root & “main_driver_lib.vbs”
    ‘Afterusing QC : FAILS
    g_qc_framework_root = “[QualityCenter] Resources\My Automation Resources\Mastercript\”

    LoadFunctionLibrary g_qc_framework_root & “main_driver_lib.vbs”



    • Murali » Hi Murali – I have to try a few things to see how to do this. Dumb question have you tried just opening the QTP script and in File>Settings under Test Settings click on resources? In the resources you can point to the function library in QC/ALM.

  4. Joe is there a way to do this using a VAPI-XP-Test in vbscript. .
    I tired just using the code above but the following error on Run-Time Error [424] object required

    here is a copy of the VAPI-XP-Test code

    ‘ test [VBScript]
    ‘ Created by Quality Center
    ‘ 1/3/2013 12:31:13 PM
    ‘ ====================================================

    ‘ —————————————————-
    ‘ Main Test Function
    ‘ Debug – Boolean. Equals to false if running in [Test Mode] : reporting to Quality Center
    ‘ CurrentTestSet – [OTA COM Library].TestSet.
    ‘ CurrentTSTest – [OTA COM Library].TSTest.
    ‘ CurrentRun – [OTA COM Library].Run.
    ‘ —————————————————-
    Sub Test_Main(Debug, CurrentTestSet, CurrentTSTest, CurrentRun )
    ‘ *** VBScript Limitation ! ***
    ‘ “On Error Resume Next” statement suppresses run-time script errors.
    ‘ To handle run-time error in a right way, you need to put “If Err.Number 0 Then”
    ‘ after each line of code that can cause such a run-time error.
    On Error Resume Next

    ‘ clear output window


    If Not Debug Then
    End If
    ‘ handle run-time errors
    If Err.Number 0 Then
    TDOutput.Print “Run-time error [” & Err.Number & “] : ” & Err.Description
    ‘ update execution status in “Test” mode
    If Not Debug Then
    CurrentRun.Status = “Failed”
    CurrentTSTest.Status = “Failed”
    End If
    End If
    End Sub
    Function QCGetResource()

    saveTo = “C:\temp”
    resourceName = “FitnesseConfig.txt”

    Set qcConn = QCUtil.QCConnection
    Set oResource = qcConn.QCResourceFactory
    Set oFilter = oResource.Filter

    oFilter.Filter(“RSC_FILE_NAME”) = resourceName
    Set oResourceList = oFilter.NewList
    If oResourceList.Count = 1 Then
    Set oFile = oResourceList.Item(1)
    oFile.FileName = resourceName
    oFile.DownloadResource saveTo, True
    End If
    End Function

  5. Hi Joe,

    Thanks for the useful info on your website.

    Do you know how to verify if a test resource is checked-out or checked-in with OTA?


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Code Hacker