Blog to understand automation concepts in QTP, Selenium Webdriver and Manual Testing concepts

QCUtil - utility object in QTP for QC- QTP intregration


In this tutorial, We will discuss about QCUtil - utility object in QTP for QC- QTP intregration. Will discuss various properties of QCUtil Object in this post. Hope this information is useful for QC-QTP integration.

QCUtil Object 

QCUtil Object is used to access QC OTA.
Below are the properties of QCUtil object that can be used for extracting information from QC.

Properties of QCUtil Object


1. QCUtil.CurrentRun:  This give reference to the current test run in QC.We can then get  information of currentrun  like name as shown below:


set objRun = QCUtil.CurrentRun
msgbox objRun.Name

2. QCUtil.CurrentTest: This give reference to the current test in QC. We can extract information like name of the test, adding attachment to current test using this property


set objTest = QCUtil.CurrentRun
msgbox objTest.Name

3. QCUtil.CurrentTestSet: This give reference to the current test set in QC. We can  extract information similar as above for testset using this property.


set CurrentTSTest = QCUtil.CurrentTestSet

4. QCUtil.CurrentTestSetTest: This gives reference to current test execution instance in the testset.


set CurrentTSTestSet = QCUtil.CurrentTestSetTest

5. IsConnected Property: returns true/false based on QTP currently connected to QC project.


blnQCsts = QCUtil.IsConnected

6. QCConnection Property: This gives an instance of current run session and can access the structure of QC using this property


Set QCConnection = QCUtil.QCConnection


Examples of working with QCUtil Object


1.Adding a defect in QC using QCUtil Object:


            ‘Create instance of QCConnection
            Set QCConnection = QCUtil.QCConnection
‘Create an instance of BugFactory
Set DefFactory = QCConnection.BugFactory
'Add a new defect
Set Bug = DefFactory.AddItem(Nothing)
‘Provide mandatory details for the defect
Bug.Status = “New”
Bug.Summary = “Module Detected new defect summary”
Bug.DetectedBy = “njoshi”
Bug.AssignedTo = “dev001”
Bug.Post
Set DefFactory = nothing
Set QCConnection = nothing.

2. Adding Attachment to QC 


Dim ObjCurrentTest,ObjAttch
‘ We can add attachment to currentTest, current run, testset, and testsettest by using repective ‘properties 
Set ObjTest = QCUtil.CurrentTest.Attachments
Set ObjAttachFile = ObjTest.AddItem(Null)
ObjAttachFile.FileName = FileName ‘ Provide path of the file that needs to be attached to QC 
ObjAttachFile.Type = 1
ObjAttachFile.Post
ObjAttachFile.Refresh

3. Validating If QC is connected properly: 


if QCUtil.IsConnected then
msgbox “QC is connected”
Else
Msgbox “QC is not connected”
EndIf
   

4. Connecting to QC through QTP


Set qtApp = CreateObject ("QuickTest.Application")
If  qtApp.launched <> True then
     qtApp.Launch
End If
qtApp.Visible = "true"
If Not qtApp.TDConnection.IsConnected Then
      qtApp.TDConnection.Connect QCurl, DomainName, ProjectName, UserName, Password, False
End If



4 comments:

  1. ok - this is good but how do I retrieve the value from a column within the Test Execution Grid and use it within QTP? I can not find any info on the QCUtil object in the OTA API Reference (search on "QCUtil" returns nothing)..I think I can use QCUtil.CurrentRun but can not find any info in it...

    ReplyDelete
  2. I am trying if QCUtil.IsConnected then
    msgbox “QC is connected”
    Else
    objALMCon.Connect serverurl,domain name,project,username,password
    EndIf code but it not connecting objALMCon is not defined?
    any other way to connect

    ReplyDelete
    Replies
    1. Try the below code, this should work:

      Set qtApp = CreateObject ("QuickTest.Application")
      If qtApp.launched <> True then
      qtApp.Launch
      End If
      qtApp.Visible = "true"
      If Not qtApp.TDConnection.IsConnected Then
      qtApp.TDConnection.Connect QCurl, DomainName, ProjectName, UserName, Password, False
      End If

      Delete
  3. Hi ,I have one query related to "QCUtil.CurrentRun" when i am trying. It throws "object required" though when i run QCUtil.CurrentTest, no error comes.

    Can you please help,

    ReplyDelete