Tricentis Tosca 16.0 Released on Feb-2023 ----- UFT has been upgraded from UFT 15.0.1 to UFT One 15.0.2, Beginning at November 2020.

Thursday, 4 June 2015

Automation Object Model

An Object model is a collection of classes or objects which can controlled by any program. An object model gives a facility to control the functionality of an application programmatically.

The UFT Automation Object Model(AOM) is a set of its classes and interfaces together with their properties, methods and events and their relationships.

Using AOM the functionalities of UFT can be controlled from any other applications/programs by using a scripting or programming language.

The functionalities that can be controlled are listed below but not limited to-
  1. Loads all the required add-ins for a test.
  2. Makes QTP visible while execution
  3. Opens the Test using the specified location
  4. Associates Function Libraries
  5. Specifies the Common Object Sync Time Out.
  6. Start and End Iteration
  7. Enable/Disable Smart IDentification
  8. On Error Settings
  9. Data Table Path
  10. Recovery Scenario Settings
  11. Log Tracking Settings
Generating Automation Script -

The UFT provides an easy option to generate automation scripts for few settings.
  1. Test Settings dialog box   File---> Settings
  2. Options Dialog box   Tools---> Options ----> GUI Testing
  3. Object Identification Dialog box   Tools ---> Object Identification
These dialog boxes contain a generate script button which generates and automation script file (.vbs) by just clicking on it as shown below. 

Write a script to start UFT, open an existing test and run the Test:

Dim qtApp, qtTest
'Create the QTP Application object
Set qtApp = CreateObject("QuickTest.Application"
'If QTP is notopen then open it
If  qtApp.launched <> True then 
qtApp.Launch 
End If 
'Make the QuickTest application visible
qtApp.Visible = True
'Set QuickTest run options Instruct QuickTest to perform next step when error occurs
qtApp.Options.Run.ImageCaptureForTestResults = "OnError"
qtApp.Options.Run.RunMode = "Fast"
qtApp.Options.Run.ViewResults = False
'Open the test in read-only mode
qtApp.Open "C:\Program Files\HP\QuickTest Professional\Tests\trial"True 
'set run settings for the test
Set qtTest = qtApp.Test
'Instruct QuickTest to perform next step when error occurs
qtTest.Settings.Run.OnError = "NextStep" 
'Run the test
qtTest.Run
'Check the results of the test run
MsgBox qtTest.LastRunResults.Status
'Close the test
qtTest.Close 
'Close QTP
qtApp.quit
'Release Object
Set qtTest = Nothing
Set qtApp = Nothing Write a script to launch UFT, Open an existing test and Run the Test and
Store Run Results in Specified Folder:
Dim qtApp, qtTest, qtResultsOpt
'Create the QTP Application object
Set qtApp = CreateObject("QuickTest.Application")
'If QTP is notopen then open it
If qtApp.launched <> True then
qtApp.Launch
End If
'Make the QuickTest application visible
qtApp.Visible = True
'Set QuickTest run options
qtApp.Options.Run.ImageCaptureForTestResults = "OnError"
qtApp.Options.Run.RunMode = "Fast"
qtApp.Options.Run.ViewResults = False
'Open the test in read-only mode
qtApp.Open "C:\Program Files\HP\QuickTest Professional\Tests\trial", True
'set run settings for the test
Set qtTest = qtApp.Test
'Instruct QuickTest to perform next step when error occurs
qtTest.Settings.Run.OnError = "NextStep"
'Create the Run Results Options object
Set qtResultsOpt = CreateObject("QuickTest.RunResultsOptions")
'Set the results location
qtResultsOpt.ResultsLocation = "D:\Result"
' Run the test
qtTest.Run qtResultsOpt
'Check the results of the test run
MsgBox qtTest.LastRunResults.Status
'Close the test
qtTest.Close
'Close QTP
qtApp.quit
'Release Object
Set qtResultsOpt = nothing
Set qtTest = Nothing
Set qtApp = Nothing
Write a script to launch UFT  and open New test:
Dim qtApp, qtTest
'Create the QTP Application object
Set qtApp = CreateObject("QuickTest.Application")
'If QTP is notopen then open it
If qtApp.launched <> True then
qtApp.Launch
End If
'Make the QuickTest application visible
qtApp.Visible = True
' Open a new test
qtApp.New
Set qtApp = Nothing ' Release the Application object

Write a script to launch UFT and Connect to Quality Center and run QC script:

'Declare the Application object variable
Dim qtApp
'Create the QTP Application object
Set qtApp = CreateObject("QuickTest.Application")
'If QTP is notopen then open it
If qtApp.launched <> True then
qtApp.Launch
End If
'Make the QuickTest application visible
qtApp.Visible = True
If Not qtApp.TDConnection.IsConnected Then
'Make changes in a test on Quality Center with version control
qtApp.TDConnection.Connect "QC URL","DOMAIN Name","Project Name","User Name",
"Password",False
End If
'Make Sure about your script path and script name in QC
qtApp.Open "[QualityCenter] Subject\QCScriptPath\ScriptName", False
qtApp.Test.Run
qtApp.TDConnection.Disconnect
'Close QTP
qtApp.quit
'Release Object
Set qtApp = Nothing

Write a script to launch a UFT, open an existing test, associate Object Repositories and save the test:

Dim qtApp, qtTest
Dim qtRepositories
'Create the QTP Application object
Set qtApp = CreateObject("QuickTest.Application")
'If QTP is notopen then open it
If qtApp.launched <> True then
qtApp.Launch
End If
'Make the QuickTest application visible
qtApp.Visible = True
qtApp.Open "C:\Program Files\HP\QuickTest Professional\Tests\trial", False
' Get the object repositories collection object of the "SignIn" action
Set qtRepositories = qtApp.Test.Actions("SignIn").ObjectRepositories
' Add Object repositry "Reposit.tsr" if it's not already associated wit action "SignIn"
If qtRepositories.Find("D:\Reposit.tsr") = -1 Then
qtRepositories.Add "D:\Reposit.tsr", 1
End If
'Save the test
qtApp.Test.Save
'Close QTP
qtApp.quit
'Release Object
Set qtLibraries = Nothing
Set qtTest = Nothing
Set qtApp = Nothing

Write a script to launch UFT, open an existing test, associate libraries and save the test:

Dim qtApp, qtTest, qtLibraries
'Create the QTP Application object
Set qtApp = CreateObject("QuickTest.Application")
'If QTP is notopen then open it
If qtApp.launched <> True then
qtApp.Launch
End If
'Make the QuickTest application visible
qtApp.Visible = True
qtApp.Open "C:\Program Files\HP\QuickTest Professional\Tests\trial", False
'Get the libraries collection object
Set qtLibraries = qtApp.Test.Settings.Resources.Libraries
'If the library file "libraary.vbs" is not assiciates with theTest then associate it
If qtLibraries.Find("D:\libraary.vbs") = -1 Then
qtLibraries.Add "D:\libraary.vbs", 1
End If
'Save the test
qtApp.Test.Save
'Close QTP
qtApp.quit
'Release Object
Set qtLibraries = Nothing
Set qtTest = Nothing ' Release the Test object
Set qtApp = Nothing 'Release the Application object

Write a script to launch UFT , Open an Existing Test and Define Environment Variables:

Dim qtApp, 
'Create the QTP Application object
Set qtApp = CreateObject("QuickTest.Application")
'If QTP is notopen then open it
If qtApp.launched <> True then
qtApp.Launch
End If
'Make the QuickTest application visible
qtApp.Visible = True
' Open the test
qtApp.Open "C:\Program Files\HP\QuickTest Professional\Tests\trial", False
' Set some environment variables
qtApp.Test.Environment.Value("Root") = "C:\"
qtApp.Test.Environment.Value("Password") = "QuickTest"
qtApp.Test.Environment.Value("Days") = 14
' Save the test
qtApp.Test.Save
'Close QTP
qtApp.quit
'Release Object
Set qtApp = Nothing

Write a script to launch a UFT with specified views: 

Dim qtApp
'Create the QTP Application object
Set qtApp = CreateObject("QuickTest.Application")
'If QTP is notopen then open it
If qtApp.launched <> True then
qtApp.Launch
End If
'Make the QuickTest application visible
qtApp.Visible = True
' Open the test
qtApp.Open "C:\Program Files\HP\QuickTest Professional\Tests\trial", False
' Set some environment variables
qtApp.Test.Environment.Value("Root") = "C:\"
qtApp.Test.Environment.Value("Password") = "QuickTest"
qtApp.Test.Environment.Value("Days") = 14
' Save the test
qtApp.Test.Save
'Close QTP
qtApp.quit
'Release Object
Set qtApp = Nothing

Write a script to launch a UFT, Open an Existing Test and Get All Available Action Names From the Test: 

Dim qtApp
'Create the QTP Application object
Set qtApp = CreateObject("QuickTest.Application")
'If QTP is notopen then open it
If qtApp.launched <> True then
qtApp.Launch
End If
'Make the QuickTest application visible
qtApp.Visible = True
qtApp.Open "C:\Program Files\HP\QuickTest Professional\Tests\trial", False, False
'Get count of Action in a test
oActCount=qtApp.Test.Actions.Count
For iCounter=1 to oActCount
' Get the first action in the test by index (start from 1)
MsgBox qtApp.Test.Actions(iCounter).Name
Next
'Close QuickTest
qtApp.Quit
' Release the Application object
Set qtApp = Nothing

Write a script to launch UFT, Open and minimize UFT Window: 

Dim qtApp
'Create the QTP Application object
Set qtApp = CreateObject("QuickTest.Application")
'If QTP is notopen then open it
If qtApp.launched <> True then
qtApp.Launch
End If
'Make the QuickTest application visible
qtApp.Visible = True
qtApp.WindowState = "Minimized" ' Maximize the QuickTest window
qtApp.WindowState = "Maximized" ' Maximize the QuickTest window
'Release Object
Set qtApp = Nothing