Empezando con GXtest desde GeneXus

From GXtest Wiki
Jump to: navigation, search


Para empezar a automatizar con GXtest, es posible realizar la inicialización del proyecto y la KB de GXtest de manera automática. Utilizando la extensión GXtest Generator para GeneXus(Evolution 1 o mayor), tendrá disponibles algunas herramientas que serán de utilidad para trabajar con la KB y GXtest desde GeneXus.

GXtest Generator le ayuda a comenzar a automatizar pruebas con GXtest, generando de forma automática casos de prueba e inicializando el entorno de trabajo para GXtest.

Si aún no tiene la extensión instalada en GeneXus, puede revisar el paso 3 de la Guias_de_Instalacion de GXtest, o bajar la extensión desde GeneXus Marketplace.

Para realizar este tutorial se utiliza la KB [AjaxSample] de los samples de GeneXus.


Contents

Paso 1: Inicialización automática

Al abrir GeneXus, aparecerá un nuevo menú GXtest que tendrá el ítem Autogenerate TestCases. Dicha opción de menú abre la ventana de generación automática de GXtest Generator.

GXMenuGXtest.png

Allí se verá información de testing asociada a la KB que está abierta, y estará disponible el botón para iniciar el proceso: Generate tests.

En caso de ser necesario, antes de comenzar a generar los casos de prueba es posible configurar las opciones de generación que la extensión provee (Ver Generación automática: GXtest Generator#Opciones de Configuración), pero por ahora las opciones por defecto le servirán.

Haciendo clic en el botón, comenzará el proceso de generación automática, y se mostrará el avance del mismo en la pantalla. Una vez finalizado el proceso, dejará creado un proyecto en GXtest con su respectiva KB, e importará todos los casos de prueba generados automáticamente.

Los casos de prueba generados automáticamente cubren dos tipos de pruebas:

  • Para cada transacción, se genera un caso de prueba que probará crear la entidad, buscarla, visualizarla, actualizarla, y eliminarla.

Por ejemplo, si tuviera una transacción Producto en la KB, se generaría un juego de casos de prueba de forma automática que siguiera el siguiente flujo:


EjemploTCauto.png


  • Para cada WebPanel que no sea autogenerado(1) se generará un caso de prueba básico que ingrese valores en todos los campos editables y presione los botones.

(1) Los webpanels autogenerados son los que genera GeneXus de forma automática. Un ejemplo de esto son los prompts y las pantallas de los patrones WorkWith.

Puede visitar Manual de Usuario de GXtest Generator para ver más información sobre la generación automática.

Paso 2: Ejecución de las pruebas generadas

Terminada la generación automática, se puede ver en GXtest Designer el proyecto y los casos de prueba generados. Luego de abrir GXtest Designer, abrir el proyecto en Project -> Open Project, y seleccionar el proyecto generado con el nombre de la KB y el sufijo "_Auto". Por ejemplo, para la KB AjaxSample, el nombre del proyecto generado de manera automáticamente será AjaxSample_Auto.

En el árbol de la derecha es posible ver los casos de prueba generados e importados.

Tctree.PNG


Todo esto se generó de manera automática a partir del clic realizado en GeneXus.

En la KB de ejemplo que se utilizó (AjaxSample), las entidades para las que se generaron las pruebas son City, Client, Country, Invoice y Product. Para cada una de estas entidades, se creó un caso de prueba principal (por ejemplo City), y otros casos de prueba secundarios que realizan las diferentes operaciones (Creación: City_Insert, Eliminación: City_Delete, etc), los cuales son utilizados por el primero.

Este es un ejemplo de como se vería un caso de prueba City (Crea, busca, visualiza, modificar, y elimina una Ciudad).

TCMain.PNG


Con el Test Case abierto, podemos ejecutarlo en el navegador, presionando el botón ejecutar (o Shift F5) que se encuentra en la barra de herramientas:

Ejecutar.JPG

Esto provocará que se abra el navegador, y se comiencen a ejecutar las acciones que contiene la definición de la prueba.

En la siguiente imagen se muestran en GXtest los resultados de la prueba:


ResultadosVerCliente.JPG


Paso 3: Agregar o modificar los datos

Crear un nuevo caso de prueba

A partir de aquí se tiene el entorno de trabajo de GXtest inicializado, y es posible seguir agregando nuevos casos de prueba o reutilizando los ya creados.

Por ejemplo, puede ser interesante crear un caso de prueba mas complejo que genere un nuevo producto, luego un nuevo cliente, una factura para ese cliente y ese producto, y luego intentar borrar el cliente.

TCComplejoAuto.png


Si quisiera generar este caso de prueba complejo, puedo reutilizar los casos de prueba ya generados de forma automática para cada uno de esos pasos, e incluirlos en un único caso de prueba.

TCComplejoAuto GXtest.png


Para esto, puede crear un nuevo caso de prueba en el menú "Test Cases" -> New. Luego ingresar el nombre del caso de prueba, por ejemplo "Factura". Para incluir los casos de prueba ya generados y utilizarlos dentro de "Factura", puede arrastrar de la barra de objetos un caso de prueba al nuevo caso de prueba en blanco.

ToolboxGXtest.png


Aparecerá una ventana para seleccionar el caso de prueba que se desea incluir. Escribir Client_Insert en el filtro y seleccionarlo cuando aparezca en la grilla. Realizar lo mismo con el resto de los casos de prueba (Product_Insert, etc).

Por último, es necesario conectarlos con aristas de forma de completar el flujo mostrado en el ejemplo.

Listo. El caso de prueba está listo para ser ejecutado.


Como seguir?

Es recomendable continuar el tutorial en Empezando con GXtest para completar el proyecto, y por ejemplo grabar un caso de prueba utilizando el navegador.