Manual de Usuario de GXtest Designer 1.0
Esta página muestra los conceptos principales de GXtest Client.
Contents |
Introducción
El objetivo de GXtest Client es poder modelar un caso de prueba de manera sencilla y ejecutar el mismo para aplicaciones generadas con Genexus en varias plataformas y con distintas versiones de Genexus.
Los casos de prueba se modelan con un grafo orientado (conjunto de nodos y aristas), en el cual los nodos representan las páginas de la aplicación y las aristas representan los eventos que hacen pasar de una página a otra. A su vez dichos elementos (páginas y eventos) pueden tener asociados comandos. Existen tres tipos de comandos: acciones, validaciones y eventos.
Las acciones son las cosas que hace el usuario sobre una página Web sin que eso lo haga ir a otra página. Esta versión beta de GXtest Client permite acciones como FillInput, la cual se utiliza para ingresar un valor en un campo de la página.
Por otro lado tenemos los eventos, que son aquellas interacciones que hacen pasar de una página a otra. Algunos de los eventos que existen actualmente son Go (equivale a escribir una dirección Web en el navegador), ClickLink (se utiliza para hacer clic en un link dentro de la página) y ClickButton (se utiliza para hacer clic en un botón determinado).
Por último, tenemos las validaciones, las cuales se utilizan para validar que el estado de la aplicación sea el que nosotros esperamos. Actualmente solo se puede validar que un determinado texto aparezca en la pantalla (mediante la validación AppearText) pero en el futuro se podrán hacer varias validaciones no solo de la página Web sino también del estado de la base de datos a través de invocaciones a procedimientos GeneXus.
Adicional a esto, en el modelo se pueden incluir Casos de Prueba anidados, a modo de modularizar y reutilizar Casos de Prueba, y se pueden incluir nodos de decisión, en donde se puede bifurcar la ejecución por dos caminos distintos de acuerdo al resultado de una validación.
Para seguir el manual es necesario conocer los distintos sectores de la interfaz gráfica de GXtest Client.
- Modelos: en esta área central de la aplicación se van a visualizar los casos de prueba que tengamos.
- Proyecto: en donde se encuentran todos lo elementos que constituyen un proyecto. Estos pueden ser Casos de prueba, Reportes o DataPools.
- Objetos: en donde están los objetos que constituyen un caso de prueba. Estos elementos se pueden arrastrar sobre el área central para construir los casos de prueba.
- Comandos: en donde se pueden visualizar los comandos (acciones, validaciones y eventos) de los distintos elementos del caso de prueba.
Proyectos
Lo primero que hay que hacer para poder comenzar a usar GXtest es crear un Proyecto. Para esto ir a Project -> New Project. En esta ventana se pueden seleccionar las propiedades del Proyecto.
- Nombre del Proyecto
- Conjunto de KB asociadas al proyecto (véase también cómo importar una KB de Genexus)
- Browser por defecto
- URL por defecto
El nombre identifica al proyecto. Las KB (Knowledge Base - código fuente de la aplicación Genexus) son las de la aplicación a probar. Se permite seleccionar un conjunto de KB porque en ocasiones las aplicaciones están compuestas por más de una, como es el ejemplo de aplicaciones que usan GXportal o GXflow. El browser por defecto que se utilizará (en la versión beta sólo se puede utilizar Internet Explorer). La URL sirve para cuando se comienza a grabar un caso de prueba, el browser va directamente a esa URL.
Todos los proyectos creados se pueden volver a abrir en cualquier momento seleccionando de la lista que aparece en el menú Project -> Open Project.
Importar KB de Genexus en GXtest
GXtest automatiza la aplicación relacionando las acciones del usuario con los objetos de la KB, en lugar de con los objetos HTML como lo hacen las herramientas que no son específicas para Genexus. Es por esto que se necesita importar la información de la/las KB de la aplicación a probar.
Simplemente hay que ir a Project -> Import KB y seleccionar el archivo con esta información. También hay un shorcut a esta funcionalidad en la ventana de Crear Nuevo Proyecto.
La información de la KB que se necesita son los Controles de los WebForms de las Transacciones y WebPanels. No se utiliza nada relacionado a la programación, eventos, ni otros.
GXtest puede tomar esta información de varias formas. Si se trata de Genexus 8 o 9, basta con dar un XPZ de un Export de la KB.
En el caso de que no se quiera entregar el XPZ completo al equipo de pruebas, se podrá utilizar a futuro una aplicación para recortar el XPZ y enviar sólo la información que GXtest necesita. Véase para esto Recortar el XPZ.
Si se trata de Genexus X, es necesario instalar GXtest Extension, y con la misma exportar la KB. Esta extensión sólo exporta la información necesaria.
Casos de Prueba
Dentro de cada proyecto tendremos los casos de prueba para nuestra aplicación a probar. Cada caso de prueba (Test Case) es la automatización de un flujo sobre la aplicación, el cual resulta interesante automatizar para las pruebas de regresión. Véase también los consejos de cuándo automatizar.
Un caso de prueba se puede crear de varias formas. Puede hacerse de forma manual, o grabando con el GXtest IEToolbar. A su vez, con la IEToolbar se puede grabar de forma On-line y Off-line.
Crear un Caso de Prueba Manualmente
Para crear un caso de prueba manualmente, se debe seleccionar en el menú contextual sobre Test Cases en el panel de Proyecto la opción Add Test Case.
Esto hace que se cree un nuevo Caso de Prueba el cual queda abierto en el panel de Modelo. Justamente en esta nueva hoja es que vamos a modelar el Caso de Prueba. Para esto dibujaremos el flujo a automatizar representando con nodos las páginas a visitar, y con aristas el recorrido entre estas páginas.
Luego de tener el flujo listo, hay que definir los comandos que se quieren ejecutar en cada arista y en cada nodo.
Véase también la lista de comandos disponibles.
Nodos
Cada nodo puede tener una lista de acciones y una lista de validaciones.
Cada nodo puede tener asociado un Objeto Genexus. En el caso de los Casos de Prueba generados con la IEToolbar estos siempre tendrán el Objeto asociado, pero si se hace manualmente no siempre es necesario indicarlo. El único caso en que es indispensable indicarlo es cuando en el nodo hay más de un Frame en la misma ventana, o cuando hay más de una ventana (por ejemplo, Popups). En ese caso hay que indicar el Objeto sobre el cual está el Control al que se le quiere aplicar el comando.
Aristas
Cada arista tiene exactamente un evento. Puede tener además una lista de acciones y una lista de validaciones.
Una particularidad de las aristas es que tienen un orden. En cada una de las aristas se puede observar una letra, la cual indicará el orden para el caso en que haya más de una arista de salida en un nodo.
Drag and Drop de Comandos
Una utilidad que nos facilita la construcción de los Casos de Prueba en el Editor de Modelos, es la posibilidad de arrastrar los comandos creados entre los distintos componentes (aristas y nodos). Esto nos permite mover o copiar (si se usa la tecla Control).
Crear un Caso de Prueba con la GXtest IEToolbar
explicación genérica
Mecanismo On-line
Mecanismo Off-line
La diferencia es que se graba directamente desde el Browser, y el resultado es un archivo ZIP, el cual es importado desde GXtest Client.
Por más detalles ver Manual de Usuario de GXtest IEToolbar.
Luego de que se genera el archivo ZIP, hay que crear un nuevo Caso de Prueba, seleccionando en el menú contextual de Test Cases (sobre el panel de Proyecto), y seleccionar Add Recorded Test Case.
Solo resta seleccionar el archivo ZIP antes generado.
La ventaja de esta modalidad es que no es necesario tener GXtest Client instalado para automatizar, sólo hace falta instalar la extensión al Internet Explorer. Esto incluso facilita el caso en que un usuario cualquiera desee grabar un flujo sobre la aplicación, ya sea porque necesita soporte, o porque está definiendo pruebas de aceptación, etc.
Comandos
Los comandos son las acciones, validaciones y eventos que se incluyen en el modelo. Cada uno de estos puede recibir los siguientes tipos de parametros:
- Control: se refiere a un control Genexus, presente dentro de un objeto Genexus.
- Literal: se refiere a un valor fijo ya sea texto o número.
- Variable: es un valor capturado de la aplicación para ser utilizado en otro momento.
- DataPool: es un componente que da la posibilidad de tomar datos externos para ser usados en el caso de prueba.
Acciones
FillInput
(control, valor a seleccionar)
Select
(control, valor a seleccionar).
Permite seleccionar un valor de una lista.
Check
UnCheck
CheckTable
UnCheckTable
Choose
GetValue
GetValueTable
SelectRow
Eventos
Go
Permite ir a una URL dada.
GoAndLogin
Permite ir a una URL dada manejando la seguridad integrada.
ClickLink
ClickLinkByCaption
ClickLinkInTable
ClickPrompt
ClickPromptInTable
ClickButton
ClickPortalMenu
LoginPortal
ClickToolbarButton
ClickTreeMenu
Close
Validaciones
AppearText
Valida que aparezca algún texto dado en la pantalla.
Data Pools
Anidación de Casos de Prueba
Variables
Objeto: Decision
Soporte
Por soporte sobre esta herramienta por favor envíenos un mail a gxtestbeta@abstracta.com.uy. Todas las sugerencias o errores que se reporten serán muy importantes para que mejoremos nuestros productos y así lograr la satisfacción de nuestros clientes.