Add a Recovery Scenario to a Test
Source code
'************************************************************************************************************************
'Description:
'
'This example uses the Recovery collection to specify a set of
'recovery scenarios to associate with a new test.
'
'Assumptions:
'There is no unsaved test currently open in UFT.
'For more information, see the example for the Test.SaveAs method.
'************************************************************************************************************************

Dim qtApp 'As QuickTest.Application ' Declare the Application object variable
Dim qtTestRecovery 'As QuickTest.Recovery ' Declare a Recovery object variable
Dim intIndex ' Declare an index variable

' Open UFT and prepare objects variables
Set qtApp = CreateObject("QuickTest.Application") ' Create the Application object
qtApp.Launch ' Start UFT
qtApp.New ' Open a new test
qtApp.Visible = True ' Make the UFT application visible
Set qtTestRecovery = qtApp.Test.Settings.Recovery ' Return the Recovery object for the current test

If qtTestRecovery.Count > 0 Then ' If there are any default scenarios specified for the test
    qtTestRecovery.RemoveAll ' Remove them
End If

' Add recovery scenarios
qtTestRecovery.Add "C:\Recovery.qrs", "ErrMessage", 1 ' Add the "ErrMessage" scenario as the first scenario
qtTestRecovery.Add "C:\Recovery.qrs", "AppCrash", 2 ' Add the "AppCrash" scenario as the second scenario
qtTestRecovery.Add "C:\Recovery.qrs", "ObjDisabled", 3 ' Add the "ObjDisabled" scenario as the third scenario

' Enable all scenarios
For intIndex = 1 To qtTestRecovery.Count ' Iterate the scenarios
    qtTestRecovery.Item(intIndex).Enabled = True ' Enable each Recovery Scenario (Note: the 'Item' property is default and can be omitted)
Next

' Enable the recovery mechanism (with default, on errors, setting)
qtTestRecovery.Enabled = True

'Ensure that the recovery mechanism is set to be activated only after errors
qtTestRecovery.SetActivationMode "OnError"
'OnError is the default, the other option is "OnEveryStep".

Set qtApp = Nothing ' Release the Application object
Set qtTestRecovery = Nothing ' Release the Recovery object