QTP operaciones de tabla de datos * extremadamente * lento (mucho mejor bajo el ejecutor de lotes MMDRV)

Posiblemente una historia sensacional: QTP parece desperdiciar nuestro tiempo de trabajo sin ninguna razón:

Considere este script, que tiene una tabla de datos de exactamente una fila global con 26 columnas llamadas "A" a "Z" llenas de cualquier valor:

Print "Started"
Services.StartTransaction "Simpletest"
Set G=DataTable.GetSheet ("Global")
For J=1 to 26   
    For I=1 to 100
        Set P=G.GetParameter (Chr (J+64))
        If P.Value = "Hi" Then
        End If
    Next
Next
Services.EndTransaction "Simpletest"
Print "Ended"

Ejecutar esto en QTP 10 toma 15,1 segundos en mi desintegrador. (La ejecución animada está desactivada, por supuesto).

Ahora ejecuto esto usando mmdrv.exe de la carpeta bin de QTP, dándole el parámetro "-usr ''" con el nombre completo, incluida la ruta al archivo .usr de prueba QTP.

Eso toma 0.07 segundos.

¿Hola? Eso es un aumento de rendimiento de 215 veces, pero una funcionalidad idéntica. ¿Cómo viene

Estoy cavando por aquí, ya que hacemos algunas cosas exóticas con las tablas de datos QTP, y me enfrento a serios problemas de rendimiento bajo QTP. Creo haber rastreado la causa de las propiedades / métodos DataTable.GetSheet y DTSheet.GetParameter.

Ahora que veo que el MMDRV, que es para ejecutar pruebas QTP desde los escenarios de LoadRunner, no tiene esa penalización de rendimiento, me pregunto lo siguiente:

Existe una alternativa 1: 1 para acceder a los archivos xls? ¿No debería alguien en Ex-Mercury / HP notar que el acceso a la tabla de datos bajo QTP esmu ineficiente, como lo demuestra MMDRV.EXE, y hacer algo al respecto? Hasta donde puedo ver, todas las demás funciones de QTP tienen una velocidad comparable bajo MMDRV y QTP. ¿Alguien puede reconocer eso? * ¿Alguien más sabe sobre esto?

Gracias por cualquier respuesta, no importa cuán perturbadores puedan ser.

* ACTUALIZACIÓN * Ejecutar con QTP invisible lleva 1,54 segundos. Esa es una mejora de 10 veces simplemente ocultando QTP como se describe en una de las respuestas. Suspiro

Respuestas a la pregunta(4)

Su respuesta a la pregunta