QTP: manejo de errores
Hay varias formas de manejar errores en QTP. Hay tres tipos posibles de errores que se pueden encontrar al trabajar con QTP. Ellos son -
- Errores de sintaxis
- Errores lógicos
- Errores de tiempo de ejecución
Tipos de error
Errores de sintaxis
Los errores de sintaxis son los errores tipográficos o una parte del código que no se confirma con la gramática del lenguaje VBscripting. Los errores de sintaxis ocurren en el momento de la compilación del código y no se pueden ejecutar hasta que se corrijan los errores.
Para verificar la sintaxis, use el atajo de teclado Ctrl + F7 y el resultado se muestra como se muestra a continuación. Si no se muestra la ventana, se puede navegar hasta "Ver" → "Errores".
Errores lógicos
Si el script es sintácticamente correcto pero produce resultados inesperados, entonces se conoce como error lógico. El error lógico generalmente no interrumpe la ejecución pero produce resultados incorrectos. Los errores lógicos pueden ocurrir debido a una variedad de razones, a saber, suposiciones erróneas o malentendidos del requisito y, a veces, lógicas de programa incorrectas (usando do-while en lugar de do-until) o bucles infinitos.
Una de las formas de detectar un error lógico es realizar revisiones por pares y también verificar el archivo de salida / archivo de resultados QTP para asegurarse de que la herramienta haya funcionado de la manera que se suponía que debía hacerlo.
Errores de tiempo de ejecución
Como indica el nombre, este tipo de error ocurre durante el tiempo de ejecución. La razón de este tipo de errores es que el script que intenta realizar algo no puede hacerlo y el script generalmente se detiene, ya que no puede continuar con la ejecución. Los ejemplos clásicos de errores de tiempo de ejecución son:
- Archivo NO encontrado pero el script intenta leer el archivo
- Objeto NO encontrado pero el script está intentando actuar sobre ese objeto en particular
- Dividir un número por cero
- Índice de matriz fuera de límites al acceder a elementos de matriz
Manejo de errores en tiempo de ejecución
Hay varias formas de manejar errores en el código.
1. Using Test Settings- El manejo de errores se puede definir en la Configuración de prueba navegando a la pestaña "Archivo" >> "Configuración" >> "Ejecutar" como se muestra a continuación. Podemos seleccionar cualquiera de las configuraciones especificadas y hacer clic en "Aceptar".
2. Using On Error Statement - La declaración 'On Error' se usa para notificar al motor VBScript de las intenciones de un evaluador de manejar los errores en tiempo de ejecución, en lugar de permitir que el motor VBScript muestre mensajes de error que no son fáciles de usar.
On Error Resume Next - On Error Resume Next informa al motor VBScript que procese la ejecución de la siguiente línea de código cuando se encuentra un error.
On error Goto 0 - Esto ayuda a los probadores a desactivar el manejo de errores.
3. Using Err Object - El objeto de error es un objeto incorporado dentro de VBScript que captura el número de error en tiempo de ejecución y la descripción del error con el que podemos depurar el código fácilmente.
Err.Number- La propiedad Number devuelve o establece un valor numérico que especifica un error. Si el valor de Err.Number es 0, no se ha producido ningún error.
Err.Description - La propiedad Descripción devuelve o establece una breve descripción sobre un error.
Err.Clear - El método Clear restablece el objeto Err y borra todos los valores anteriores asociados con él.
Ejemplo
'Call the function to Add two Numbers Call Addition(num1,num2)
Function Addition(a,b)
On error resume next
If NOT IsNumeric(a) or IsNumeric(b) Then
Print "Error number is " & err.number & " and description is :
" & err.description
Err.Clear
Exit Function
End If
Addition = a+b
'disables error handling
On Error Goto 0
End function
4. Using Exit Statement- Las sentencias de salida se pueden utilizar junto con el objeto Err para salir de una prueba, acción o iteración según el valor de Err.Number. Veamos cada una de esas declaraciones de salida en detalle.
ExitTest - Sale de toda la prueba QTP, independientemente de la configuración de iteración en tiempo de ejecución.
ExitAction - Sale de la acción actual.
ExitActionIteration - Sale de la iteración actual de la acción.
ExitTestIteration - Sale de la iteración actual de la prueba QTP y pasa a la siguiente iteración.
5. Recovery Scenarios - Al encontrar un error, los escenarios de recuperación se activan en función de ciertas condiciones y se trata en detalle en un capítulo separado.
6. Reporter Object- Reporter Object nos ayuda a reportar un evento a los resultados de la ejecución. Nos ayuda a identificar si la acción / paso en cuestión es apto / no apto.
'Syntax: Reporter.ReportEventEventStatus, ReportStepName, Details,
[ImageFilePath]
'Example
Reporter.ReportEvent micFail, "Login", "User is unable to Login."