Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6606883
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 25, 20262026-05-25T19:26:35+00:00 2026-05-25T19:26:35+00:00

I need to leverage Quicktest Pro from our Maven/Jenkins builds. I know, I know

  • 0

I need to leverage Quicktest Pro from our Maven/Jenkins builds. I know, I know QTP is not the best tool out there (I’m amused by the “bag of flaming dog poo” reference), but our QE team is using it and I want to run some of their tests in Jenkins.

1A. Has anyone used this specific combination? An example/maven plugin would be great.

Since I doubt that is likely, lets break it up into pieces.

2A. How do you simply launch a QTP test from the command line? I think I can figure the rest of the launching part of things out using antrun or something like that.

2B. The results format from QTP doesn’t appear to be a standard like surefire reports (I don’t know either well, so I might be wrong). Can you give me some guidance on getting report results back into maven/Jenkins? I’m thinking that may involve parsing the QTP results file.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-25T19:26:36+00:00Added an answer on May 25, 2026 at 7:26 pm

    An AOM ( Automation Object Model ) vbscript could be written to invoke QTP and run a specific test.
    Such a vbscript could be run from command line in Windows.

    If you can run/invoke vbscript files from Maven/Jenkins , it is definitely possible to run QTP scripts through command line.

    A sample AOM vbscript function to trigger QTP run is below

    Public Function RunQTP(byVal strQC_Or_Local, byVal strTestPath, byVal strTestName, byVal strResultsFolder, byVal strTraceFile)', byVal strStore)
    
    
        ' Create the Application object 
        Dim objQTPApp,objQTPLibraries,objTestResults  'QTP
        Dim strTempResultsRootFolder
        strTempResultsRootFolder = "C:\TempTest\"
    
    
        On Error Resume Next
            'Loop for a minute or until qtp is successfully opened
            StartTime = Now
            Do 
                    'Create QTP object
                    Set objQTPApp = CreateObject("QuickTest.Application") 
    
                    'Clear any existing error numbers
                    Err.Clear
    
                    'If QTP is already launched, do nothing, else launch it
                    If objQTPApp.Launched = False Then
                        objQTPApp.Launch    
                    End If
    
                    'Set qtp to visible
                    objQTPApp.Visible = True
    
                    'See if launching QTP has caused an error
                    intErr = Err.Number
    
                    'If it QTP has opened fine, exit the loop
                    If intErr = 0 Then
                            objQTPTraceFile.Write Now & " QTP open with no errors" & vbCR
                            Exit Do
                            'If there's an error, Close and QTP processes running (if any) and try again
                    Else
                            msgbox "Error in opening QTP"
    
                    End If
    
            Loop Until DateDiff("s", StartTime, Now) > 180
    
    
        On Error GoTo 0
    
    
    
        objQTPApp.Options.Run.RunMode = "Fast"
    
    
        If strQC_Or_Local = "QC" Then
            'Connect To QC
            strQCUsername = "Quality center username"
            strQCPassword = "Quality center password"
    
            If objQTPApp.TDConnection.IsConnected Then
                'If QTP is already connected, if login details are different, then log out and log in again with given details
                If objQTPApp.TDConnection.User <> strQCUsername Or objQTPApp.TDConnection.Domain <> strQCDomain Or _
                    objQTPApp.TDConnection.Project <> strQCProject Or objQTPApp.TDConnection.Server <> strQCPath Then
                    msgbox "connected as someone else - disconnecting, and then will reconnect"
                    objQTPApp.TDConnection.Disconnect 
                    On Error Resume Next
                        objQTPApp.TDConnection.Connect strQCPath, strQCDomain, strQCProject, strQCUsername, strQCPassword, False
                    On Error GoTo 0
                End If
            Else
                'If it's not already connected, log in with given details
                On Error Resume Next
                    objQTPApp.TDConnection.Connect strQCPath, strQCDomain, strQCProject, strQCUsername, strQCPassword, False
                On Error GoTo 0
            End If
            'If connected, tests in QC have [QualityCenter] appended before their name
            If objQTPApp.TDConnection.IsConnected Then ' If connection is successful
                strTestPath = "[QualityCenter] " & strTestPath 
            Else 
                MsgBox "Cannot connect to Quality Center" ' If connection is not successful, display an error message. 
                Exit Function
            End If
        End If
    
        'Open the test
        On Error Resume Next
            objQTPApp.Open strTestPath, False
            intErr = err.number
            strErrDesc = err.description
        On Error Goto 0
    
        'If no problems
        If intErr = 0 Then
    
    
    
            'Configure the QTP settings 
    
            'Stop the test when an error  occours
            objQTPApp.Test.Settings.Run.OnError = "NextIteration"
    
            'Select the Range you wish to run 
            objQTPApp.Test.Settings.Run.IterationMode = "oneIteration"
    
            'Set sync timeout to be 20 seconds and disable smart identification
            'objQTPApp.Test.Settings.Run.ObjectSyncTimeOut = 20000
            objQTPApp.Test.Settings.Run.DisableSmartIdentification = True
    
    
    
    
            'Ensure that the recovery mechanism is set to be activated for every step
            'qtTestRecovery.SetActivationMode "OnError"
            Set objTestResults = CreateObject("QuickTest.RunResultsOptions") 
    
            'If results folder path is empty, just save tests results to usual temp place
            Dim blnSaveSpecificLocation 
            If strResultsFolder = "" Then
                blnSaveSpecificLocation = False
                objTestResults.ResultsLocation = "<TempLocation>"
            Else
            'Otherwise, save results to a temporary location, and then move the tests results to desired location before closing the test/stopping QTP etc
            'Need to save to a temp location and then move, as it looks like that when another test is run, QTP deletes the previous set of results.
                blnSaveSpecificLocation = True
                'Create the results object          
                strDate = CStr(Now)
                strDate = Replace(strDate, "/", "")
                strDate = Replace(strDate, ":", ".")
                strTestNameAppendage = strTestName & " " & objQTPApp.Test.Environment.Value("LocalHostName")  & " " & strDate
                strResults = strResultsFolder & "\" '& strTestNameAppendage
    
                strTempResultsLocation = strTempResultsRootFolder & strTestNameAppendage
                objTestResults.ResultsLocation = strTempResultsLocation
    
            End If
    
            objQTPTraceFile.Write Now & " Start Test" & vbCrLf 
            'If QTP crashes, it will be forced shut by 'KillQTP' after an hour. If this happens, 'objQTPApp.Test.Run objTestResults' will return an error
            'so need to turn off error reporting and capture the error given if this is the case
    
            On Error Resume Next
                Dim intQTPErr
                Err.Clear
                'Run the test *************************** This is the line which triggers the QTP run
                objQTPApp.Test.Run objTestResults 
                intQTPErr = Err.Number
            On Error GoTo 0 
    
            objQTPTraceFile.Write Now & " End Test" & vbCrLf
    
        Else    
            objQTPTraceFile.Write Now & " " & strTestPath & " could not be opened. Error message = " & strErrDesc & vbCRLf                      
        End if
    
        'Close Qtp  
        objQTPTraceFile.Write Now & " Just before checking the error number. Error Number was: " & intQTPErr & vbCRLf
        On Error Resume Next
    
            'If QTP has crashed, the number captured in intQTPErr will be -2147023170
            If intQTPErr = "-2147023170" Then   'if it's crashed (could put <> 0 instead) 
                objQTPTraceFile.Write Now & " QTP Run Crashed or didn't finish in the time limit. Error Number was: " & intQTPErr & vbCRLf
            Else 
                objQTPTraceFile.Write Now & " QTP Thinks it finished - stopping test: "  & Err.Number & vbCRLf
                'Close the test         
                objQTPApp.Test.Stop
                objQTPTraceFile.Write Now & " QTP Thinks it stopped fine - closing test: "  & Err.Number & vbCRLf
    
                'Move the test from temp location to desired location
                If blnSaveSpecificLocation = True Then
                    Call MoveFolder(strTempResultsLocation, strResults)
                    'objQTPApp.Test.Close
                    objQTPTraceFile.Write Now & " QTP Thinks it closed fine - error number is: "  & Err.Number & vbCRLf
                End If
    
                objQTPTraceFile.Write Now & " QTP Process should have been killed" & vbCRLf
    
            End If
    
        On Error GoTo 0
    
    
    
        'Set objects used to nothing    
        Set objQTPTraceFile  = Nothing
        Set fso  = Nothing
    
        Set qtTestRecovery = Nothing ' Release the Recovery object 
        Set objTestResults = Nothing
        Set objQTPLibraries = Nothing
        Set objQTPApp = Nothing
    
    
    End Function
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

We're using objects that do not necessarily need to leverage the physics engine, but
I need to stream a file from my server to several clients. I'm not
Do I need to change anything programmatically to leverage the integrated pipeline in IIS7?
I am starting out on a project in which I need to build a
I'd like to add an editor to an RCP application. I need to leverage
I need to be able to extract and transform data from a data source
I'm attempting to leverage the splicer.dll component from http://splicer.codeplex.com on a windows 2008 server.
I know that there at least two approaches to leverage the web.config file: using
Now that RC1 is out I need to decide once and for all whether
Need a function that takes a character as a parameter and returns true if

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.