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