GXtest Generator Tutorial

From GXtest Wiki
Revision as of 01:13, 30 July 2013 by Andres.curcio (Talk | contribs)

Jump to: navigation, search


In order to start automating with GXTest, Para empezar a automatizar con GXtest, a point to make is that it is possible to initialise the project as well as the KB in an automatic manner. Employing the GXTest Generator's extension for Genexus (which must be version Evolution 1 or greater), some tools will become available which will be useful whilst working with the KB and GXTest from Genexus itself.

GXTest Generator aids you through the beginning of tests automation with GXTest, automatically generating test cases and initialising the work environment for GXTest.

Provided the extension is not yet installed in Genexus, you can either check step 3 from Guias_de_Instalacion in GXTest, or download the extension from GeneXus Marketplace.

So that you can go through this tutorial, GXTest Designer must be installed in your system (Check Guias_de_Instalacion) In the examples below the following KB is employed [AjaxSample] from the samples by GeneXus.


Contents

Step 1: Automatic Initialization

While opening GeneXus, a new menu labeled GXTest will be displayed which, will have an item for Autogenerate TestCases. That menu option will open up the window for automatic generation from GCTest Generator.

GXMenuGXtest.png

In that location it's where the information for testing associated to the KB that is opened will be displayed, and also, the button to start the process for Generate tests will be available.


Should it be necessary, before starting with the generation of test cases, it is possible to set the options that the extension provides (Refer to Generación automática: GXtest Generator#Opciones de Configuración), nonetheless, the default options will now suffice.


Clicking on the button, will start the process for automatic generation, and the progress will be displayed on screen. Once the process is completed, a project will be created in GXTest with its corresponding KB, and it will import all of the automatically generated test cases.e.

The automatically generated test cases cover two types of tests:

  • For every transaction, a test case will be generated which will test from an entity its creation, search, visualisation, update and delete.

For examplo, in case I happened to have a transaction Product in the KB, a set of test cases would be automatically generated following this workflow:


EjemploTCauto.png


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

(*) 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.