Puedo usar un lenguaje que no sea VBScript para ejecutar pruebas QTP mediante programación?

Tengo un código VBScript que lanza QuickTest Professional, ejecuta una serie de pruebas QTP y envía los resultados por correo electrónico. Esto funciona bien, pero preferiría usar un lenguaje con mejor soporte de herramientas (un buen IDE, por ejemplo). Actualmente estoy llamando a las bibliotecas .Net desde el script de lanzamiento, por lo que me preguntaba si era posible usar un lenguaje como C # para realizar la misma tarea. Si es así, ¿hay algún buen recurso que aborde esto? Podría encontrar muy poco sobre este tema a través de Google y no parece haber ninguna otra pregunta sobre SO sobre este tema.

Para mayor claridad, he incluido el código para la rutina que realiza la mayor parte del trabajo. Esto no incluye las declaraciones .Net, perofailedTestsList yallTestsList son instancias deSystem.ArrayList.

EDITA: Todos los ejemplos de documentación de QTP usan VBScript, pero como puede ver, el código solo está creando los objetos QTP. Asumiría que estos serían invocables desde otro lenguaje que admitiera la creación de estos objetos. Parece por mis fallas de Google que nadie lo está haciendo.

Sub ExecuteQTPTest(name)
    Dim App, resultsPath
    Dim testPath, testResults
    testPath = name
    allTestsList.Add(name)
    Set App = CreateObject("QuickTest.Application")

    App.Launch
    App.Visible = False
    App.Open testPath

    SetQTPTestOptions(App)
    SetQTPRunOptions(App)
    SetQTPWebOptions(App)

    App.Folders.RemoveAll

    Dim qtpTest, qtpResultsOpt
    Set qtpTest = App.Test
    Set qtpResultsOpt = CreateObject("QuickTest.RunResultsOptions")

    resultsPath = testPath & "\RES1"

    qtpResultsOpt.ResultsLocation = resultsPath

    qtpTest.Run qtpResultsOpt ''// Run the test

    testResults = "Test Status: " & qtpTest.LastRunResults.Status & vbCrLf & _
          "Last Error: " & qtpTest.LastRunResults.LastError & vbCrLf & _
          "Detailed Results located at " & qtpTest.LastRunResults.Path & _
               " can be viewed with the QTP Results Viewer Tool " & vbCrLf

    If qtpTest.LastRunResults.Status <> "Passed" Then
        g_testRunPassed = False
        failureCount = failureCount + 1
        failedTestsList.Add(name)
        LogResults testResults, name        
    End If

    qtpTest.Close

    Set qtpResultsOpt = Nothing 
    Set qtpTest = Nothing 

    App.Quit

    Set App = Nothing 
End Sub

Respuestas a la pregunta(8)

Su respuesta a la pregunta