Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I run a QTP test from the command line?

There are a few situations where I need to launch and run a QTP test from the command prompt. For example, I'd like to use Windows Task Scheduler to run QTP tests at various times throughout the night, but there is (seemingly) no flag that I can use have QTP.exe open and run a test. How can I accomplish this?

like image 503
Michael Innes Avatar asked Dec 26 '22 12:12

Michael Innes


1 Answers

It's true that with QuickTest Pro, you cannot directly run a test by calling C:\Program Files (x86)\HP\QuickTest Professional\bin\QTPro.exe "C:\Some Test\"
All hope is not lost, however. There is a way to create a small VBS file that can run any arbitrary QTP test when that VBS file is called. This is much better than creating a single batch file for each and every test.

'*******************************************************************
'RunThisTest
'by Michael Innes
'November 2012

testResourcePath = "C:\Test Logs and Results\"

'Getting the test path
Dim objArgs
Set objArgs = wscript.Arguments
testPath = objArgs(0)

'Determining that the test does exist
Dim objFSO
Set objFSO = CreateObject("Scripting.FileSystemObject")
DoesFolderExist = objFSO.FolderExists(testPath)
Set objFSO = Nothing

If DoesFolderExist Then
    Dim qtApp 'Declare the Application object variable
    Dim qtTest 'Declare a Test object variable
    Set qtApp = CreateObject("QuickTest.Application") 'Create the Application object
    qtApp.Launch 'Start QuickTest
    qtApp.Visible = True 'Make the QuickTest application visible
    qtApp.Open testPath, False 'Open the test in read-only mode
    Set qtTest = qtApp.Test

    'Set qtResultsOpt = CreateObject("QuickTest.RunResultsOptions") ' Create the Run Results Options object
    'qtResultsOpt.ResultsLocation = testResourcePath ' Specify the location to save the test results.
    'qtTest.Run qtResultsOpt,True 'Run the test and wait until end of the test run

    qtTest.Run 'Run the test
    qtTest.Close 'Close the test
    qtApp.Quit
Else
    'Couldn't find the test folder. That's bad. Guess we'll have to report on how we couldn't find the test.
    'Insert reporting mechanism here.
End If

To use the code above, execute a command like this: cscript.exe "C:\RunThisTest.vbs" "L:\Test Path\The Test Itself\"

like image 78
Michael Innes Avatar answered Dec 29 '22 01:12

Michael Innes