Search code examples
vbscriptjenkinsautomationjenkins-pluginsqtp

how to run Qtp from Jenkins


I am new to QTP. I want to trigger QTP from Jenkins.I have automated a website using QTP and have then obtained the vbscript by following file->settings.Now I want jenkins to trigger the vbscripts such that I am able to view the automation process.I came to know that I need to invoke the vbscript from a windows batch file which is present in Build option of Jenkins.I have written a single command cscript "\\path to my vbscript" in my windows batch file.But I am Unable to run the vbscript.

I found a similar question ( QTP to Jenkins integration help need CI ) but due to my ignorance of QTP and Jenkins I am unable to get the results.

this is my vbscript

`Dim App 'As Application
Set App = CreateObject("QuickTest.Application")
App.Launch
App.Visible = True
App.Test.Settings.Launchers("Flex").Active = False
App.Test.Settings.Launchers("Flex").Applications.RemoveAll
App.Test.Settings.Launchers("Java").Active = False
App.Test.Settings.Launchers("Java").CommandLine = ""
App.Test.Settings.Launchers("Java").WorkingDirectory = ""
App.Test.Settings.Launchers("Siebel").Active = False
App.Test.Settings.Launchers("Siebel").Version = "77"
App.Test.Settings.Launchers("Siebel").Address = ""
App.Test.Settings.Launchers("Siebel").AutoLogin = True
App.Test.Settings.Launchers("Siebel").User = ""
App.Test.Settings.Launchers("Siebel").Password = ""
App.Test.Settings.Launchers("Siebel").LogoutOnExit = True
App.Test.Settings.Launchers("Siebel").CloseOnExit = True
App.Test.Settings.Launchers("Siebel").SiebAutomationRequestTimeout = 120
App.Test.Settings.Launchers("Siebel").SiebAutomationAccessCode = ""
App.Test.Settings.Launchers("Web").Active = True
App.Test.Settings.Launchers("Web").Browser = "IE"
App.Test.Settings.Launchers("Web").Address = "https://orbit.sonata-software.com"
App.Test.Settings.Launchers("Web").CloseOnExit = True
App.Test.Settings.Launchers("Windows Applications").Active = True
App.Test.Settings.Launchers("Windows Applications").Applications.RemoveAll
App.Test.Settings.Launchers("Windows Applications").RecordOnQTDescendants = True
App.Test.Settings.Launchers("Windows Applications").RecordOnExplorerDescendants = False
App.Test.Settings.Launchers("Windows Applications").RecordOnSpecifiedApplications = True
App.Test.Settings.Run.IterationMode = "rngAll"
App.Test.Settings.Run.StartIteration = 1
App.Test.Settings.Run.EndIteration = 1
App.Test.Settings.Run.ObjectSyncTimeOut = 20000
App.Test.Settings.Run.DisableSmartIdentification = False
App.Test.Settings.Run.OnError = "Dialog"
App.Test.Settings.Resources.DataTablePath = "<Default>"
App.Test.Settings.Resources.Libraries.RemoveAll
App.Test.Settings.Web.BrowserNavigationTimeout = 60000
App.Test.Settings.Web.ActiveScreenAccess.UserName = ""
App.Test.Settings.Web.ActiveScreenAccess.Password = ""
App.Test.Settings.Java.EditSet.KeyPressed = True
App.Test.Settings.Java.EditSet.KeyTyped = True
App.Test.Settings.Java.EditSet.KeyReleased = True
App.Test.Settings.Java.EditSet.InputMethod = False
App.Test.Settings.Java.EditSet.FocusLost = False
App.Test.Settings.Java.EditSet.JavaAPI = False
App.Test.Settings.Java.EditSet.JavaAPICharactersToExclude = "\t\n\r"
App.Test.Settings.Java.DeviceReplay.Click = False
App.Test.Settings.Java.DeviceReplay.DoubleClick = False
App.Test.Settings.Java.DeviceReplay.Type = False
App.Test.Settings.Java.DeviceReplay.DragDrop = False
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' System Local Monitoring settings
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
App.Test.Settings.LocalSystemMonitor.Enable = false
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Log Tracking settings
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
With App.Test.Settings.LogTracking 
    .IncludeInResults = False 
    .Port = 18081 
    .IP = "127.0.0.1" 
    .MinTriggerLevel = "ERROR" 
    .EnableAutoConfig = False 
    .RecoverConfigAfterRun = False 
    .ConfigFile = "" 
    .MinConfigLevel = "WARN" 
End With`

I am unable to execute my vbscript.Please suggest some ideas of how to execute it


Solution

  • For detailed answer,

    http://www.testautomationguru.com/executing-qtpuft-scripts-using-jenkins/


    1. First you need a working QTP/UFT script. I assume you already have.
    2. Then you need a VBScript file which uses QTP/UFT automation object model to invoke the QTP/UFT programmatically (something like this one here). Ensure that your vbscript works fine.

      Set QTP = CreateObject("QuickTest.Application")
      QTP.Launch
      QTP.Visible = TRUE
      QTP.Open "path of the qtp test", TRUE
      QTP.Test.Run NOTHING, TRUE
      QTP.Test.Close
      QTP.Quit
      
    3. In Jenkins, Create a job. Select 'Execute Windows Batch Command' in Build Step. Enter below command. You do not need a BAT file.

      CScript "path of the vbscript file"
    
    1. Click build from Jenkins - it should run the test now.