SlideShare una empresa de Scribd logo
1 de 16
Descargar para leer sin conexión
Taller
Introducción
El taller consta de dos partes, un taller inicial y un taller avanzado. El taller inicial sigue una
serie de pasos para mostrar los principales conceptos de GXtest. Por otro lado el taller
avanzado muestra algunos conceptos más complejos que la herramienta permite manejar para
expresar casos de prueba más complejos.

Ambos talleres se realizarán sobre la aplicación AjaxSample en la versión GeneXus Ev1.

Todos los archivos que se referencian en este taller se encuentran en la carpeta “Material
Taller”, la cual está en el escritorio de la máquina virtual.

Glosario GeneXus
Knowladge Base (KB): la KB GeneXus es el modelo de desarrollo de la aplicación. A partir de la
misma luego se genera la aplicación en una plataforma concreta (Java, Net)

Objeto GeneXus: es un elemento que GeneXus provee para describir la aplicación, es parte de
una KB GeneXus. Hay varios tipos, Transacciones, Web Panels, procedimientos, etc.

Control GeneXus: es un elemento que se encuentra dentro de un objeto GeneXus del tipo
Transacción o Web Panel y sirve para describir la página web que el muestra. Un control puede
ser por ejemplo un campo en una pantalla, un botón, un combo, etc.
Taller Inicial
1. Crear el proyecto “AjaxSample”

Objetivo: Crear el primer proyecto en GXtest para automatizar una aplicación Web: Ajax
Sample



Abrir GXtest Designer (en el escritorio se puede encontrar el link que dice GXtest). Presionar
Ok para ingresar a la base local con el usuario Guest.

Crear un proyecto nuevo, para esto ir a Project->New Project.

Cuadro de dialogo de “New Project”

Campo “Name”: Ingresar el nombre del proyecto, por ejemplo AjaXSampleCursoGXtest.

Campo “KB Name”: ahora se debe asociar la Knowladge Base (KB) de GeneXus de la aplicación
con la cual se va a trabajar, para esto hacer clic en el botón con la figura de (+). Luego hacer
clic en el botón que aparece pegado al campo “File Location” e indicar el archivo llamado
“AjaxSampleKB.gxt”. Ese archivo contiene la información relevante de la KB GeneXus que
GXtest utiliza. Luego que se selecciona el archivo presionar Ok. GXtest informará que se
importó correctamente la KB. Luego de esto en el dialogo de creación del proyecto, en el
campo KB Name, indicar la KB recientemente importada.

Nota: el archivo con el cual se importa la KB puede ser un XPZ (si es Genexus 8 o 9), o puede
utilizarse directamente el archivo GXW donde se tiene guardada la KB.

En este caso se exportó una versión reducida de la KB desde una versión superior a Genexus X,
utilizando una extension de GeneXus que en lugar de exportar un XPZ exporta sólo la
información necesaria para GXtest.

La extensión viene en el directorio de instalación de GXtest, o puede bajarse desde GeneXus
Marketplace.

Campo URL: ingresar la siguiente url: http://localhost/AjaxSample/home.aspx. Al momento de
iniciar una grabación de un caso de prueba, GXtest sugerirá esta URL para comenzar la
grabación.

Tip: la variable estándar URLHome, hace referencia a la propiedad URL del proyecto, por lo
cual si no se quiere dejar fija una URL en los casos de prueba, se puede hacer referencia a esta
variable, de este modo si se cambia la aplicación de servidor, solo se deberá modificar esta
propiedad.

Para finalizar, presionar el botón Ok y se creará el proyecto el cual quedará abierto.
2. Crear caso de prueba de Alta de Cliente

Objetivo: Crear el primer caso (grabando desde la aplicación) y ejecutarlo

En esta sección se grabará el caso de prueba de Alta Cliente de manera on-line utilizando el
componente GXtest Recorder.
Hacer clic con el botón derecho sobre el nodo Test Cases que aparece en el panel derecho de
GXtest Designer, luego seleccionar Record New Test Case. Ingresar el nombre “Alta Cliente” y
luego presionar el botón rojo para comenzar a grabar.




GXtest abrirá el navegador para comenzar a grabar las acciones que se realicen sobre el
mismo. Seguir los siguientes pasos en la aplicación como parte del caso de prueba que se
quiere automatizar:
 a. Hacer clic en el link Work With Clients.
        Nota: En ese momento, debido a que se hizo clic en una grilla, GXtest Recorder
        desplegará una ventana para que se le indique cual fue el criterio para hacer clic en esa
        fila de la grilla. Hay dos opciones distintas, una es por fila y otra es por control. En este
        caso dejar la opción por defecto (por control) y presionar Accept.
 b. Presionar el botón con el símbolo de (+) para insertar un nuevo cliente
 c. Ingresar el nombre del cliente, el apellido, la dirección y el balance, luego presionar
    Confirm. La aplicación AjaXSample regresará a la página de Work With Clients.
 d. Buscar el cliente creado usando el campo de búsqueda, para filtrar por el nombre del
    cliente anteriormente ingresado.
 e. Entrar a visualizar el cliente creado.
    Para esto en la grilla de clientes del Work With Clients, seleccionar el nombre del cliente
    creado y luego el criterio de selección (al momento de seleccionar el cliente se abrirá una
    ventana en donde se debe indicar cuál es el criterio por el cual se hace clic en esa fila). En
    este caso se indicará que es la fila cuyo ClientFirstName es igual al nombre del cliente
    creado. Para esto, primero indicar que la regla de selección será SelectionByControl y
    luego presionar Accept.
f.    Validar que el apellido sea el ingresado en el paso (b).
      Para ingresar esta validación seguir los pasos que se detallan a continuación:
      i. Seleccionar el texto del apellido en la pantalla
      ii. Presionar el botón de validaciones     en GXtest Recorder. Esto permitirá elegir el tipo
          de validación a agregar. En este caso seleccionar VerifyControlText, la cual permite
          comparar un valor de la pantalla con otro valor.
     iii. Presionar Accept en la ventana que se muestra para indicar el criterio.




g. Por último, cerrar el navegador para terminar de grabar el caso de prueba.

De esta forma quedó grabado el primer caso de prueba en GXtest. Para entender los casos de
prueba, se recomienda recorrer el modelo que se ha creado para recorrer las distintas
acciones que hemos realizado sobre el navegador.

Iniciar en el nodo Start, siguiendo por la arista Init y así sucesivamente. Recordar que cuando
se tiene más de una arista saliente desde una página, primero se recorre la arista con letra A y
luego la B.

Una vez que se haya entendido el modelo creado por GXtest, ingresar a la aplicación y borrar
el cliente recientemente creado y luego ejecutar en el caso de prueba automatizado. Esto
volverá a crear el cliente pero esta vez con el caso de prueba “Alta Cliente” automatizado.

Para ejecutar un caso de prueba: presionar el botón de ejecutar        o las teclas Shift+F5.

Una vez que el caso de prueba haya sido ejecutado, el resultado detallado del mismo se
mostrará en GXtest. Intente navegar en el árbol de resultados y recorrer la secuencia de todos
los comandos ejecutados con sus respectivos parámetros.

Ejercicio: Intente cambiar algo en el caso de prueba de modo tal que falle algo al ejecutar, a
modo de ver como se muestran los fallos detectados. Por ejemplo, cambie el comando donde
se verifica el apellido, y ponga otro apellido distinto, o cambie el criterio de selección del clic
en el menú, como para que vaya a otro elemento.
3. Crear un caso de prueba de Baja de Cliente

Esta vez se creará un caso de prueba de Baja de Cliente pero grabándolo de manera off-line.

Esto permite crear un caso de prueba con GXtest Recorder sin tener GXtest Designer instalado.
Para esto abrir el Internet Explorer y navegar a la siguiente url:
http://localhost/AjaxSample/home.aspx.

Luego en el margen superior izquierdo de GXtest Recorder ingresar el nombre Baja Cliente y
luego presionar el botón rojo para comenzar a grabar. GXtest Recorder pedirá que se indique
donde será guardado el archivo con la grabación del caso de prueba.

Seguir los siguientes pasos en el navegador como parte del caso de prueba:

a.   Hacer clic en Work With Clients. Se abrirá el diálogo de criterio de selección, presionar
     Accept.
b.   Ingresar en el campo de búsqueda el nombre del cliente dado de alta. En ese momento la
     aplicación AjaXSample filtrará por dicho nombre, por lo cual el cliente dado de alta se
     mostrará en primer lugar.
c.   Luego hacer clic en la cruz roja de la primera fila para dar de baja el cliente. En ese
     momento se abrirá el diálogo para indicar el criterio de selección para esa fila. Cambiar el
     criterio para seleccionar siempre la fila uno (Selection by row = 1).
d.   En la página de confirmación de borrado del cliente se agregará una validación del
     mensaje que debe mostrar la aplicación AjaxSample, el mismo es “Confirm Deletion.”.
     Para esto seleccionar dicho texto y luego presionar el botón de validaciones e indicar la
     validación AppearText. Seleccionarla y luego presionar Accept.
e.   Para finalizar el caso de prueba presionar el botón Confirm y luego cerrar el navegador.

Al cerrar el navegador, GXtest Recorder dejará en la ubicación seleccionada un archivo llamado
“Baja Cliente.zip”. Para utilizar dicha grabación en GXtest Designer, hacer clic con el botón
derecho sobre el nodo Test Cases, luego seleccionar la opción “Import Test Case” y seleccionar
el archivo generado.

Nota: Cuando importamos un caso de prueba grabado en GXtest Recorder, GXteset Designer
arma un modelo que expresa dicho caso de prueba. Repasar este modelo y visualizar las
distintas acciones que se realizaron en el caso de prueba.



      Ejecutar el caso de prueba de Alta Cliente y luego el de Baja Cliente para asegurar el
      correcto funcionamiento del mismo.
4. Crear el caso de prueba Alta y Baja Cliente

Objetivo: Crear un caso de prueba compuesto



Ahora se creará un único caso de prueba que realice el alta del cliente y luego la baja del
mismo a partir de los dos casos de prueba creados previamente.

Para esto en GXtest Designer, sobre el nodo Test Cases realizar clic con el botón derecho e
indicar “Create New Test Case”, luego ingresar el nombre Alta y Baja Cliente.



         Luego arrastrar desde el panel de elementos (a la izquierda de GXtest Designer) un
         elemento del tipo Test Case y seleccionar el test case de Alta Cliente. Realizar la
misma acción para el caso de prueba Baja Cliente.

         A continuación unir la punta de la arista init al caso de prueba Alta Cliente y arrastrar
         un elemento de tipo Edge Line para unir la el Alta de Cliente (inicio de la flecha) con la
         Baja de cliente (fin de la flecha).

Ha quedado finalizado el caso de prueba, para probar el mismo presionar el botón de ejecutar
o Shift + F5.
5. Utilización de Datapools, crear el Datapool Clientes

Objetivo: Parametrizar un caso de prueba en GXtest para ejecutar con un conjunto variable de
datos (Data Driven Testing)

GXtest permite utilizar este enfoque mediante el concepto de Datapools . En este caso se
creará el Datapool Clientes el cual contendrá toda la información relacionada a los clientes que
se utiliza en los casos de prueba.

Crear un nuevo Datapool de nombre Clientes (botón derecho sobre el nodo Datapools y
presionar “Create New Datapool”). Ingresar las columnas que va a tener este Datapool:
Nombre, Apellido, Dirección y Balance.

Los datos en un Datapool se pueden ingresar de manera manual o mediante la utilización de
un archivo CSV. En esta ocasión ingresaremos tres conjunto de datos desde un CSV. Para esto
presionar el botón “Import CSV” e indicar el archivo Clientes.csv.

Una vez creado el Datapool e ingresados los datos debemos indicar en los casos de prueba
donde se utilizará el mismo. Primero comenzar con el caso de prueba de Alta Cliente, se
deben sustituir todos los valores fijos que se han ingresado e indicarle a GXtest que se tomen
desde el Datapool Clientes. En el caso de prueba de Alta Cliente seleccionar la arista “Click
GX_BtnEnter” y sustituir en los distintos comandos FillInput los valores fijos por los valores del
Datapool Clientes. Para realizar esto hacer clic con el botón derecho sobre el comando que se
quiere modificar y presionar Edit Command (o haciendo doble clic sobre el comando). Cambiar
los parámetros correspondientes desde la opción Value a la opción Datapool e indicar la
columna adecuada dentro del Datapool Clientes. Realizar la mismas acciones en la arista “Click
in Table” en los comandos ClickTable y VerifyControlText. Una vez finalizado el caso de prueba
de Alta Cliente, se debe proceder a hacer lo mismo con el caso de prueba de Baja Cliente, en
esta ocasión hay que cambiar los comandos de la arista Click in Table. Una vez terminadas
estas acciones grabar salvar ambos casos de prueba.

Por último debemos indicarle a GXtest en qué momento se debe avanzar (pasar de una fila a
otra) en el Datapool Clientes, por este motivo debemos agregar el comando DPNext en el
lugar que queremos que esto suceda. En este caso en particular se agregará el comando
DPNext en la arista Init (la primer arista del modelo que se inicia en el nodo inicial) del caso
de prueba Alta y Baja Cliente. Para esto hacer clic con el botón derecho arriba de dicha arista
y seleccionar Add Action. Luego seleccionar el comando DPNext, pasándole como parámetro el
Datapool Clientes y cualquiera de sus columnas.
El caso de prueba “Alta y Baja Cliente” se verá algo así:




Al terminar, ejecute el caso 3 veces usando el botón de Run N times     o presionando Shift +
F7.

Este caso de prueba creará y borrará tres nuevos clientes (los especificados en el Datapool
Clientes).
6. Invocación a procedimientos GeneXus

GXtest permite de manera sencilla invocar procedimientos GeneXus para ser utilizados en las
pruebas. En esta ocasión utilizaremos el procedimiento ExistClient (un procedimiento GeneXus
ya creado) para determinar el flujo a seguir dentro del caso de prueba. Los procedimientos en
general son utilizados para modificar, consultar o validar valores específicos de la base de
datos de la aplicación.

Primero dar de alta el procedimiento que se quiere utilizar en las pruebas desde Commands-
>Genexus Proc y presionar el botón de Add GX Proc.

Ingresar la url http://localhost/AjaxSample/aexistclient.aspx?wsdl y presionar el botón start
(flecha azul). En ese momento GXtest leerá la información de los parámetros que utiliza el
mismo y las presentará. Se debe indicar el tipo de comando a agregar (validación o acción) y
una descripción para el mismo, en este caso ingresar “Verifica si un cliente existe o no en la
aplicación” y presionar Save. Ahora disponemos de un nuevo comando “ExistClient” para ser
utilizado desde las pruebas en GXtest.

A este comando lo utilizaremos en el caso de prueba de Alta y Baja de Cliente para preguntar
si existe el cliente antes de dar de alta. La lógica será:

    -   Si existe, ir directamente a la baja del mismo
    -   Si no existe, primero hacer el alta del cliente y luego la baja.

Para poder expresar esto, debemos arrastrar al caso de prueba un nuevo elemento del tipo
Decision. Luego unimos la arista init a la decisión agregada. A las decisiones se le pueden
poner nombres intuitivos que ayuden a interpretar el caso de prueba, en este caso hacer doble
clic sobre la decisión y ponerle el nombre “¿Existe Cliente?”

Ahora le debemos agregar a la Decision, la condición que hace que se siga un camino u otro.
Para esto hacer clic con el botón derecho sobre la misma y seleccionar Add Condition. Una vez
que se abre el dialogo de comandos, se debe seleccionar una de las validaciones disponibles,
en este caso observar que aparece como una validación más el procedimiento agregado de
ExistClient, seleccionar el mismo e indicarle como parámetro el Datapool Clientes en su
columna Nombre. Luego presionar Add Command para confirmar la creación del comando.

Una vez definida la condición, unir la arista False de la Decisión al caso de prueba Alta Cliente y
la arista True al caso de prueba Baja Cliente.
Listo, ha quedado finalizado el caso de prueba. Ahora, para testear nuestro caso de prueba (sí,
a los casos de prueba también hay que probarlos) vamos a crear un cliente en la aplicación
para que al ejecutarse el caso de prueba Alta y Baja de Cliente, el mismo tome otro flujo y vaya
directamente a la Baja. Crear entonces a mano desde la aplicación, un cliente de nombre Juan.

Luego ejecutar nuevamente 3 veces el caso de prueba y analizar los resultados para visualizar
su correcta ejecución.




               Observe el árbol de resultados para verificar que sea el esperado
7. Ejecución en FireFox

Objetivo: Ejecutar el mismo conjunto de pruebas en otro navegador.

Cambie la propiedad de ejecución del proyecto. Para esto, botón derecho en el árbol
de proyecto -> Properties.




Ahora ejecute nuevamente el caso de prueba anterior 3 veces, pero en FireFox.
8. Actualizar la versión del sistema bajo pruebas e impactar los cambios

En la automatización del testing es esencial la posibilidad de adaptar los casos de prueba a los
cambios que se producen al evolucionar el desarrollo en forma rápida. Por este motivo ahora
ejecutaremos la funcionalidad de “Update KB Information” la cual toma la nueva KB (la nueva
versión de la aplicación) y realiza el impacto de los cambios sobre los casos de prueba
involucrados.

A efectos de probar esto, se dispone de una copia de la versión de AjaxSample en
http://localhost/NewAjaxSample/home.aspx, que es la nueva versión del sistema.

Si la KB permanece en el mismo lugar (path / modelo / xpz) alcanza con hacer un Update KB.
En el caso de este taller, tenemos la 2da versión de nuestra KB (NewAjaxSample) en otro
archivo, por lo cual debemos indicarle a GXtest que tome la KB desde otro archivo.

Ir a KB->Edit Properties, luego seleccionar la KB AjaxSample e indicarle en el campo File Path el
archivo NewAjaxSampleKB.gxt.

Este nuevo archivo corresponde a la KB AjaxSample con las siguientes modificaciones:
 Se cambió el nombre de la transacción Client por SuperClient
 Dentro de la transacción Client, se cambió el botón confirmar por el botón enter
 Dentro de la transacción Client se cambió el atributo ClientFirstName por ClientName

Estos cambios producen también cambios en los objetos asociados al Pattern Work With
Client.

Ahora si a ejecutar el Update KB desde: Knowledge Base -> Update KB Information.

Nota: Es recomendable cerrar los Test Cases abiertos antes de continuar.

Una vez que se actualiza la KB, GXtest leerá la información de la KB y analizará cuántos objetos
han sido agregados, borrados y modificados. Por otro lado brindará un detalle de que casos de
prueba quedarán en estado deshabilitados (por tener cambios que inhabilitan su ejecución) o
pendientes de revisión (aquellos que GXtest aplicó una determinada heurística para su
adaptación y requiere que el usuario acepte el cambio aplicado).
Para ejecutar el caso de prueba Alta y Baja Cliente en la nueva aplicación se debe cambiar el
comando Go de los casos de prueba Alta Cliente y Baja Cliente a la URL
http://localhost/NewAjaxSample/home.aspx. En esa URL se encuentra la nueva aplicación a
testear.

Cambie la propiedad URL de proyecto, para indicar cuál es el nuevo home a probar.




Bien, una vez finalizado esto, podemos correr el caso de prueba Alta y Baja Cliente con
Shift+F7 indicando que corra 3 veces.

Ver como ejecuta en la nueva aplicación con los cambios realizados.
Taller Avanzado
9. Datapools con SETID

Hay ocasiones en las que es necesario relacionar los datos que existen entre los diferentes
Datapools utilizados en un caso de prueba. Si queremos crear países y para cada uno de ellos
tenemos distintos datos de ciudades, es necesario acceder por cada línea de un Datapool de
datos de países a varias líneas de un Datapool de datos de ciudades. Para no tener toda la
información junta en un único DataPool, nos va a interesar hacer “filtros” en nuestros datos,
accediéndolos por “conjuntos de datos”.

En este caso los llamados Datapools estructurados nos permiten expresar relaciones entre los
datos de los distintos Datapools.

En este caso realizaremos el alta de países y sus respectivas ciudades. Para esto crear los
siguientes Datapools:

   Países con las columnas SetId, Nombre, IdPaís, CantidadCiudades
   Ciudades con la columna SetId, Nombre, IdCiudad

Las columnas SetId son las que sirven para relacionar los distintos datos. Importar el archivo
Paises.csv en el Datapool Países y el archivo Ciudades.csv en el Datapool Ciudades

Una vez creados los Datapools hay que grabar el caso de prueba Alta País.

Ir a Record New Test Case e ingresar el nombre Alta País. Luego realizar los siguientes pasos en
la aplicación:

       Clic en Work With Countries. Poner Accept en el dialogo de criterio de selección.
       Clic en el botón (+)
       Ingresar un id, por ejemplo 999 y un nombre para el país y luego hacer clic en Confirm
       Cerrar el navegador

Grabar ahora Alta Ciudad. Realizando los siguientes pasos:
    Clic en Work With Cities. Poner Accept en el dialogo de criterio de selección.
    Clic en el botón (+)
    Seleccionar el país previamente ingresado, luego ingresar un identificador y un
       nombre de ciudad y presionar Confirm

Asociar a los casos de prueba los Datapools correspondientes. Para esto abrir el caso de
prueba de Alta Pais y asignar en los comandos correspondientes el Datapool Paises con los
campos Nombre e IdPais. Y luego, en el caso de prueba de Alta Ciudad usar el Datapool Paises
y el Datapool Ciudades.

Bien, resta agregar el comando DPNext al comienzo de los dos casos de prueba, (por ejemplo.
en la arista Init). En el caso de prueba de Alta País hacer un DPNext del Datapool Paises. En el
caso de prueba de Alta Ciudad hacer un DPNext del Datapool Ciudades.
Como queremos dar de alta países y luego sus respectivas cuidades, debemos agregar dentro
del caso de prueba Alta País el caso de prueba Alta Ciudad. Para esto agregar una arista desde
la página Work With Countries al caso de prueba agregado “Alta Ciudad”.

Ahora debemos indicarle a GXtest que el caso de prueba de Alta Ciudad incluido dentro de Alta
País se debe ejecutar tantas veces como se indica en la columna CantidadCiudades del
Datapool Paises, para esto hacer clic derecho sobre el caso de prueba incluido y seleccionar
Properties. En dicho dialogo seleccionar Datapool y luego seleccionar el Datapool Paises, la
columna CantidadCiudades.

Ejecutar el caso de prueba de Alta País dos veces para ver como se dan de alta los países con
sus respectivas ciudades.

Parte 2

Para analizar mejor el comportamiento de los Datapools estructurados, borrar en la aplicación
las ciudades y países ingresados e indicar en el Datapool Países que la cantidad de ciudades a
ingresar será 1. Ejecutar nuevamente dos veces el caso de prueba Alta País. Se podrá visualizar
que se ingresaron correctamente en el sistema sus países con sus respectivas ciudades.

Más contenido relacionado

Similar a Taller de gxtest

Tutorial aspx
Tutorial aspxTutorial aspx
Tutorial aspxjlmanmons
 
Tutorial aspx, pequeño tutorial para crear un sitio y poder generar transacci...
Tutorial aspx, pequeño tutorial para crear un sitio y poder generar transacci...Tutorial aspx, pequeño tutorial para crear un sitio y poder generar transacci...
Tutorial aspx, pequeño tutorial para crear un sitio y poder generar transacci...jlmanmons
 
Como crear Clientes/Servidores en COM-DCOM
Como crear Clientes/Servidores en COM-DCOMComo crear Clientes/Servidores en COM-DCOM
Como crear Clientes/Servidores en COM-DCOMEliana Ruiz
 
01 guiados java_cuadros_verificacion - MinistrOmar
01 guiados java_cuadros_verificacion - MinistrOmar01 guiados java_cuadros_verificacion - MinistrOmar
01 guiados java_cuadros_verificacion - MinistrOmarJomar Burgos Palacios
 
Vb aspx sitio
Vb aspx sitioVb aspx sitio
Vb aspx sitiojlmanmons
 
bases de datos desde visual basic
bases de datos desde visual basicbases de datos desde visual basic
bases de datos desde visual basicsantiagomario8
 
Conectar con bases de datos
Conectar con bases de datosConectar con bases de datos
Conectar con bases de datosRafael Quintero
 
Configurando Ambiente de Desarrollo WEB en Eclipse Neón para Desarrolladores
Configurando Ambiente de Desarrollo WEB en Eclipse Neón para DesarrolladoresConfigurando Ambiente de Desarrollo WEB en Eclipse Neón para Desarrolladores
Configurando Ambiente de Desarrollo WEB en Eclipse Neón para DesarrolladoresIvan Luis Jimenez
 
Laboratorio WEB GXEv3
Laboratorio WEB GXEv3Laboratorio WEB GXEv3
Laboratorio WEB GXEv3GeneXus
 
Laboratorio WEB GXEv3
Laboratorio WEB GXEv3Laboratorio WEB GXEv3
Laboratorio WEB GXEv3GeneXus
 
Servlet Hola Mundo con Eclipse y Tomcat
Servlet Hola Mundo con Eclipse y TomcatServlet Hola Mundo con Eclipse y Tomcat
Servlet Hola Mundo con Eclipse y Tomcatjubacalo
 
Guia practicaiuprg3
Guia practicaiuprg3Guia practicaiuprg3
Guia practicaiuprg3alex sgarcia
 
Inicio jcreator practica1
Inicio jcreator practica1Inicio jcreator practica1
Inicio jcreator practica1MARTO3000
 
Algoritmos y programas 1 arena
Algoritmos y programas 1   arenaAlgoritmos y programas 1   arena
Algoritmos y programas 1 arenaRomario Fajardo
 

Similar a Taller de gxtest (20)

Visual studio 2010
Visual studio 2010Visual studio 2010
Visual studio 2010
 
Tutorial aspx
Tutorial aspxTutorial aspx
Tutorial aspx
 
Tutorial aspx, pequeño tutorial para crear un sitio y poder generar transacci...
Tutorial aspx, pequeño tutorial para crear un sitio y poder generar transacci...Tutorial aspx, pequeño tutorial para crear un sitio y poder generar transacci...
Tutorial aspx, pequeño tutorial para crear un sitio y poder generar transacci...
 
Como crear Clientes/Servidores en COM-DCOM
Como crear Clientes/Servidores en COM-DCOMComo crear Clientes/Servidores en COM-DCOM
Como crear Clientes/Servidores en COM-DCOM
 
01 guiados java_cuadros_verificacion - MinistrOmar
01 guiados java_cuadros_verificacion - MinistrOmar01 guiados java_cuadros_verificacion - MinistrOmar
01 guiados java_cuadros_verificacion - MinistrOmar
 
Vb aspx sitio
Vb aspx sitioVb aspx sitio
Vb aspx sitio
 
bases de datos desde visual basic
bases de datos desde visual basicbases de datos desde visual basic
bases de datos desde visual basic
 
Conectar con bases de datos
Conectar con bases de datosConectar con bases de datos
Conectar con bases de datos
 
Git y GitHub
Git y GitHubGit y GitHub
Git y GitHub
 
Configurando Ambiente de Desarrollo WEB en Eclipse Neón para Desarrolladores
Configurando Ambiente de Desarrollo WEB en Eclipse Neón para DesarrolladoresConfigurando Ambiente de Desarrollo WEB en Eclipse Neón para Desarrolladores
Configurando Ambiente de Desarrollo WEB en Eclipse Neón para Desarrolladores
 
Laboratorio WEB GXEv3
Laboratorio WEB GXEv3Laboratorio WEB GXEv3
Laboratorio WEB GXEv3
 
Laboratorio WEB GXEv3
Laboratorio WEB GXEv3Laboratorio WEB GXEv3
Laboratorio WEB GXEv3
 
Servlet Hola Mundo con Eclipse y Tomcat
Servlet Hola Mundo con Eclipse y TomcatServlet Hola Mundo con Eclipse y Tomcat
Servlet Hola Mundo con Eclipse y Tomcat
 
Practica
PracticaPractica
Practica
 
Practica
PracticaPractica
Practica
 
Manual impresión de etiquetas por lote
Manual impresión de etiquetas por loteManual impresión de etiquetas por lote
Manual impresión de etiquetas por lote
 
Guia practicaiuprg3
Guia practicaiuprg3Guia practicaiuprg3
Guia practicaiuprg3
 
Inicio jcreator practica1
Inicio jcreator practica1Inicio jcreator practica1
Inicio jcreator practica1
 
Manual impresión de etiquetas Avery, modelo 5160
Manual impresión de etiquetas Avery, modelo 5160Manual impresión de etiquetas Avery, modelo 5160
Manual impresión de etiquetas Avery, modelo 5160
 
Algoritmos y programas 1 arena
Algoritmos y programas 1   arenaAlgoritmos y programas 1   arena
Algoritmos y programas 1 arena
 

Más de GeneXus

After Chatbots Yo (Ro) Bots
After Chatbots Yo (Ro) BotsAfter Chatbots Yo (Ro) Bots
After Chatbots Yo (Ro) BotsGeneXus
 
Construya las aplicaciones del futuro ¡hoy!
Construya las aplicaciones del futuro ¡hoy!Construya las aplicaciones del futuro ¡hoy!
Construya las aplicaciones del futuro ¡hoy!GeneXus
 
Live Editing in Action
Live Editing in ActionLive Editing in Action
Live Editing in ActionGeneXus
 
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...GeneXus
 
¿Pensando en implementar un sistema de gestión integral en su organización?
¿Pensando en implementar un sistema de gestión integral en su organización?¿Pensando en implementar un sistema de gestión integral en su organización?
¿Pensando en implementar un sistema de gestión integral en su organización?GeneXus
 
K2B Tools el compañero de viaje ideal hacia el futuro
K2B Tools el compañero de viaje ideal hacia el futuroK2B Tools el compañero de viaje ideal hacia el futuro
K2B Tools el compañero de viaje ideal hacia el futuroGeneXus
 
Sd y Plataformas
Sd y PlataformasSd y Plataformas
Sd y PlataformasGeneXus
 
PXTools: Nuevo generador y nuevos controles responsivos
PXTools: Nuevo generador y nuevos controles responsivosPXTools: Nuevo generador y nuevos controles responsivos
PXTools: Nuevo generador y nuevos controles responsivosGeneXus
 
APPlícate: Aplicaciones móviles para el desarrollo de la industria
APPlícate: Aplicaciones móviles para el desarrollo de la industriaAPPlícate: Aplicaciones móviles para el desarrollo de la industria
APPlícate: Aplicaciones móviles para el desarrollo de la industriaGeneXus
 
GeneXus 4 Students
GeneXus 4 StudentsGeneXus 4 Students
GeneXus 4 StudentsGeneXus
 
La importancia de ser responsive
La importancia de ser responsiveLa importancia de ser responsive
La importancia de ser responsiveGeneXus
 
K2B: El ERP nativo para el mundo GeneXus
K2B: El ERP nativo para el mundo GeneXusK2B: El ERP nativo para el mundo GeneXus
K2B: El ERP nativo para el mundo GeneXusGeneXus
 
GeneXus 15 (Salto)
GeneXus 15 (Salto)GeneXus 15 (Salto)
GeneXus 15 (Salto)GeneXus
 
GeneXus Cloud Deployment Services. El camino a la nube.
GeneXus Cloud Deployment Services. El camino a la nube.GeneXus Cloud Deployment Services. El camino a la nube.
GeneXus Cloud Deployment Services. El camino a la nube.GeneXus
 
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuariosLigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuariosGeneXus
 
Innovando con GeneXus y SAP
Innovando con GeneXus y SAPInnovando con GeneXus y SAP
Innovando con GeneXus y SAPGeneXus
 
Going mobile
Going mobileGoing mobile
Going mobileGeneXus
 
Audit+: La mejor forma de auditar KB’s GeneXus
Audit+: La mejor forma de auditar KB’s GeneXusAudit+: La mejor forma de auditar KB’s GeneXus
Audit+: La mejor forma de auditar KB’s GeneXusGeneXus
 
WW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite PlusWW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite PlusGeneXus
 
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...GeneXus
 

Más de GeneXus (20)

After Chatbots Yo (Ro) Bots
After Chatbots Yo (Ro) BotsAfter Chatbots Yo (Ro) Bots
After Chatbots Yo (Ro) Bots
 
Construya las aplicaciones del futuro ¡hoy!
Construya las aplicaciones del futuro ¡hoy!Construya las aplicaciones del futuro ¡hoy!
Construya las aplicaciones del futuro ¡hoy!
 
Live Editing in Action
Live Editing in ActionLive Editing in Action
Live Editing in Action
 
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
 
¿Pensando en implementar un sistema de gestión integral en su organización?
¿Pensando en implementar un sistema de gestión integral en su organización?¿Pensando en implementar un sistema de gestión integral en su organización?
¿Pensando en implementar un sistema de gestión integral en su organización?
 
K2B Tools el compañero de viaje ideal hacia el futuro
K2B Tools el compañero de viaje ideal hacia el futuroK2B Tools el compañero de viaje ideal hacia el futuro
K2B Tools el compañero de viaje ideal hacia el futuro
 
Sd y Plataformas
Sd y PlataformasSd y Plataformas
Sd y Plataformas
 
PXTools: Nuevo generador y nuevos controles responsivos
PXTools: Nuevo generador y nuevos controles responsivosPXTools: Nuevo generador y nuevos controles responsivos
PXTools: Nuevo generador y nuevos controles responsivos
 
APPlícate: Aplicaciones móviles para el desarrollo de la industria
APPlícate: Aplicaciones móviles para el desarrollo de la industriaAPPlícate: Aplicaciones móviles para el desarrollo de la industria
APPlícate: Aplicaciones móviles para el desarrollo de la industria
 
GeneXus 4 Students
GeneXus 4 StudentsGeneXus 4 Students
GeneXus 4 Students
 
La importancia de ser responsive
La importancia de ser responsiveLa importancia de ser responsive
La importancia de ser responsive
 
K2B: El ERP nativo para el mundo GeneXus
K2B: El ERP nativo para el mundo GeneXusK2B: El ERP nativo para el mundo GeneXus
K2B: El ERP nativo para el mundo GeneXus
 
GeneXus 15 (Salto)
GeneXus 15 (Salto)GeneXus 15 (Salto)
GeneXus 15 (Salto)
 
GeneXus Cloud Deployment Services. El camino a la nube.
GeneXus Cloud Deployment Services. El camino a la nube.GeneXus Cloud Deployment Services. El camino a la nube.
GeneXus Cloud Deployment Services. El camino a la nube.
 
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuariosLigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
 
Innovando con GeneXus y SAP
Innovando con GeneXus y SAPInnovando con GeneXus y SAP
Innovando con GeneXus y SAP
 
Going mobile
Going mobileGoing mobile
Going mobile
 
Audit+: La mejor forma de auditar KB’s GeneXus
Audit+: La mejor forma de auditar KB’s GeneXusAudit+: La mejor forma de auditar KB’s GeneXus
Audit+: La mejor forma de auditar KB’s GeneXus
 
WW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite PlusWW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
 
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
 

Taller de gxtest

  • 2. Introducción El taller consta de dos partes, un taller inicial y un taller avanzado. El taller inicial sigue una serie de pasos para mostrar los principales conceptos de GXtest. Por otro lado el taller avanzado muestra algunos conceptos más complejos que la herramienta permite manejar para expresar casos de prueba más complejos. Ambos talleres se realizarán sobre la aplicación AjaxSample en la versión GeneXus Ev1. Todos los archivos que se referencian en este taller se encuentran en la carpeta “Material Taller”, la cual está en el escritorio de la máquina virtual. Glosario GeneXus Knowladge Base (KB): la KB GeneXus es el modelo de desarrollo de la aplicación. A partir de la misma luego se genera la aplicación en una plataforma concreta (Java, Net) Objeto GeneXus: es un elemento que GeneXus provee para describir la aplicación, es parte de una KB GeneXus. Hay varios tipos, Transacciones, Web Panels, procedimientos, etc. Control GeneXus: es un elemento que se encuentra dentro de un objeto GeneXus del tipo Transacción o Web Panel y sirve para describir la página web que el muestra. Un control puede ser por ejemplo un campo en una pantalla, un botón, un combo, etc.
  • 3. Taller Inicial 1. Crear el proyecto “AjaxSample” Objetivo: Crear el primer proyecto en GXtest para automatizar una aplicación Web: Ajax Sample Abrir GXtest Designer (en el escritorio se puede encontrar el link que dice GXtest). Presionar Ok para ingresar a la base local con el usuario Guest. Crear un proyecto nuevo, para esto ir a Project->New Project. Cuadro de dialogo de “New Project” Campo “Name”: Ingresar el nombre del proyecto, por ejemplo AjaXSampleCursoGXtest. Campo “KB Name”: ahora se debe asociar la Knowladge Base (KB) de GeneXus de la aplicación con la cual se va a trabajar, para esto hacer clic en el botón con la figura de (+). Luego hacer clic en el botón que aparece pegado al campo “File Location” e indicar el archivo llamado “AjaxSampleKB.gxt”. Ese archivo contiene la información relevante de la KB GeneXus que GXtest utiliza. Luego que se selecciona el archivo presionar Ok. GXtest informará que se importó correctamente la KB. Luego de esto en el dialogo de creación del proyecto, en el campo KB Name, indicar la KB recientemente importada. Nota: el archivo con el cual se importa la KB puede ser un XPZ (si es Genexus 8 o 9), o puede utilizarse directamente el archivo GXW donde se tiene guardada la KB. En este caso se exportó una versión reducida de la KB desde una versión superior a Genexus X, utilizando una extension de GeneXus que en lugar de exportar un XPZ exporta sólo la información necesaria para GXtest. La extensión viene en el directorio de instalación de GXtest, o puede bajarse desde GeneXus Marketplace. Campo URL: ingresar la siguiente url: http://localhost/AjaxSample/home.aspx. Al momento de iniciar una grabación de un caso de prueba, GXtest sugerirá esta URL para comenzar la grabación. Tip: la variable estándar URLHome, hace referencia a la propiedad URL del proyecto, por lo cual si no se quiere dejar fija una URL en los casos de prueba, se puede hacer referencia a esta variable, de este modo si se cambia la aplicación de servidor, solo se deberá modificar esta propiedad. Para finalizar, presionar el botón Ok y se creará el proyecto el cual quedará abierto.
  • 4. 2. Crear caso de prueba de Alta de Cliente Objetivo: Crear el primer caso (grabando desde la aplicación) y ejecutarlo En esta sección se grabará el caso de prueba de Alta Cliente de manera on-line utilizando el componente GXtest Recorder. Hacer clic con el botón derecho sobre el nodo Test Cases que aparece en el panel derecho de GXtest Designer, luego seleccionar Record New Test Case. Ingresar el nombre “Alta Cliente” y luego presionar el botón rojo para comenzar a grabar. GXtest abrirá el navegador para comenzar a grabar las acciones que se realicen sobre el mismo. Seguir los siguientes pasos en la aplicación como parte del caso de prueba que se quiere automatizar: a. Hacer clic en el link Work With Clients. Nota: En ese momento, debido a que se hizo clic en una grilla, GXtest Recorder desplegará una ventana para que se le indique cual fue el criterio para hacer clic en esa fila de la grilla. Hay dos opciones distintas, una es por fila y otra es por control. En este caso dejar la opción por defecto (por control) y presionar Accept. b. Presionar el botón con el símbolo de (+) para insertar un nuevo cliente c. Ingresar el nombre del cliente, el apellido, la dirección y el balance, luego presionar Confirm. La aplicación AjaXSample regresará a la página de Work With Clients. d. Buscar el cliente creado usando el campo de búsqueda, para filtrar por el nombre del cliente anteriormente ingresado. e. Entrar a visualizar el cliente creado. Para esto en la grilla de clientes del Work With Clients, seleccionar el nombre del cliente creado y luego el criterio de selección (al momento de seleccionar el cliente se abrirá una ventana en donde se debe indicar cuál es el criterio por el cual se hace clic en esa fila). En este caso se indicará que es la fila cuyo ClientFirstName es igual al nombre del cliente creado. Para esto, primero indicar que la regla de selección será SelectionByControl y luego presionar Accept.
  • 5. f. Validar que el apellido sea el ingresado en el paso (b). Para ingresar esta validación seguir los pasos que se detallan a continuación: i. Seleccionar el texto del apellido en la pantalla ii. Presionar el botón de validaciones en GXtest Recorder. Esto permitirá elegir el tipo de validación a agregar. En este caso seleccionar VerifyControlText, la cual permite comparar un valor de la pantalla con otro valor. iii. Presionar Accept en la ventana que se muestra para indicar el criterio. g. Por último, cerrar el navegador para terminar de grabar el caso de prueba. De esta forma quedó grabado el primer caso de prueba en GXtest. Para entender los casos de prueba, se recomienda recorrer el modelo que se ha creado para recorrer las distintas acciones que hemos realizado sobre el navegador. Iniciar en el nodo Start, siguiendo por la arista Init y así sucesivamente. Recordar que cuando se tiene más de una arista saliente desde una página, primero se recorre la arista con letra A y luego la B. Una vez que se haya entendido el modelo creado por GXtest, ingresar a la aplicación y borrar el cliente recientemente creado y luego ejecutar en el caso de prueba automatizado. Esto volverá a crear el cliente pero esta vez con el caso de prueba “Alta Cliente” automatizado. Para ejecutar un caso de prueba: presionar el botón de ejecutar o las teclas Shift+F5. Una vez que el caso de prueba haya sido ejecutado, el resultado detallado del mismo se mostrará en GXtest. Intente navegar en el árbol de resultados y recorrer la secuencia de todos los comandos ejecutados con sus respectivos parámetros. Ejercicio: Intente cambiar algo en el caso de prueba de modo tal que falle algo al ejecutar, a modo de ver como se muestran los fallos detectados. Por ejemplo, cambie el comando donde se verifica el apellido, y ponga otro apellido distinto, o cambie el criterio de selección del clic en el menú, como para que vaya a otro elemento.
  • 6. 3. Crear un caso de prueba de Baja de Cliente Esta vez se creará un caso de prueba de Baja de Cliente pero grabándolo de manera off-line. Esto permite crear un caso de prueba con GXtest Recorder sin tener GXtest Designer instalado. Para esto abrir el Internet Explorer y navegar a la siguiente url: http://localhost/AjaxSample/home.aspx. Luego en el margen superior izquierdo de GXtest Recorder ingresar el nombre Baja Cliente y luego presionar el botón rojo para comenzar a grabar. GXtest Recorder pedirá que se indique donde será guardado el archivo con la grabación del caso de prueba. Seguir los siguientes pasos en el navegador como parte del caso de prueba: a. Hacer clic en Work With Clients. Se abrirá el diálogo de criterio de selección, presionar Accept. b. Ingresar en el campo de búsqueda el nombre del cliente dado de alta. En ese momento la aplicación AjaXSample filtrará por dicho nombre, por lo cual el cliente dado de alta se mostrará en primer lugar. c. Luego hacer clic en la cruz roja de la primera fila para dar de baja el cliente. En ese momento se abrirá el diálogo para indicar el criterio de selección para esa fila. Cambiar el criterio para seleccionar siempre la fila uno (Selection by row = 1). d. En la página de confirmación de borrado del cliente se agregará una validación del mensaje que debe mostrar la aplicación AjaxSample, el mismo es “Confirm Deletion.”. Para esto seleccionar dicho texto y luego presionar el botón de validaciones e indicar la validación AppearText. Seleccionarla y luego presionar Accept. e. Para finalizar el caso de prueba presionar el botón Confirm y luego cerrar el navegador. Al cerrar el navegador, GXtest Recorder dejará en la ubicación seleccionada un archivo llamado “Baja Cliente.zip”. Para utilizar dicha grabación en GXtest Designer, hacer clic con el botón derecho sobre el nodo Test Cases, luego seleccionar la opción “Import Test Case” y seleccionar el archivo generado. Nota: Cuando importamos un caso de prueba grabado en GXtest Recorder, GXteset Designer arma un modelo que expresa dicho caso de prueba. Repasar este modelo y visualizar las distintas acciones que se realizaron en el caso de prueba. Ejecutar el caso de prueba de Alta Cliente y luego el de Baja Cliente para asegurar el correcto funcionamiento del mismo.
  • 7. 4. Crear el caso de prueba Alta y Baja Cliente Objetivo: Crear un caso de prueba compuesto Ahora se creará un único caso de prueba que realice el alta del cliente y luego la baja del mismo a partir de los dos casos de prueba creados previamente. Para esto en GXtest Designer, sobre el nodo Test Cases realizar clic con el botón derecho e indicar “Create New Test Case”, luego ingresar el nombre Alta y Baja Cliente. Luego arrastrar desde el panel de elementos (a la izquierda de GXtest Designer) un elemento del tipo Test Case y seleccionar el test case de Alta Cliente. Realizar la misma acción para el caso de prueba Baja Cliente. A continuación unir la punta de la arista init al caso de prueba Alta Cliente y arrastrar un elemento de tipo Edge Line para unir la el Alta de Cliente (inicio de la flecha) con la Baja de cliente (fin de la flecha). Ha quedado finalizado el caso de prueba, para probar el mismo presionar el botón de ejecutar o Shift + F5.
  • 8. 5. Utilización de Datapools, crear el Datapool Clientes Objetivo: Parametrizar un caso de prueba en GXtest para ejecutar con un conjunto variable de datos (Data Driven Testing) GXtest permite utilizar este enfoque mediante el concepto de Datapools . En este caso se creará el Datapool Clientes el cual contendrá toda la información relacionada a los clientes que se utiliza en los casos de prueba. Crear un nuevo Datapool de nombre Clientes (botón derecho sobre el nodo Datapools y presionar “Create New Datapool”). Ingresar las columnas que va a tener este Datapool: Nombre, Apellido, Dirección y Balance. Los datos en un Datapool se pueden ingresar de manera manual o mediante la utilización de un archivo CSV. En esta ocasión ingresaremos tres conjunto de datos desde un CSV. Para esto presionar el botón “Import CSV” e indicar el archivo Clientes.csv. Una vez creado el Datapool e ingresados los datos debemos indicar en los casos de prueba donde se utilizará el mismo. Primero comenzar con el caso de prueba de Alta Cliente, se deben sustituir todos los valores fijos que se han ingresado e indicarle a GXtest que se tomen desde el Datapool Clientes. En el caso de prueba de Alta Cliente seleccionar la arista “Click GX_BtnEnter” y sustituir en los distintos comandos FillInput los valores fijos por los valores del Datapool Clientes. Para realizar esto hacer clic con el botón derecho sobre el comando que se quiere modificar y presionar Edit Command (o haciendo doble clic sobre el comando). Cambiar los parámetros correspondientes desde la opción Value a la opción Datapool e indicar la columna adecuada dentro del Datapool Clientes. Realizar la mismas acciones en la arista “Click in Table” en los comandos ClickTable y VerifyControlText. Una vez finalizado el caso de prueba de Alta Cliente, se debe proceder a hacer lo mismo con el caso de prueba de Baja Cliente, en esta ocasión hay que cambiar los comandos de la arista Click in Table. Una vez terminadas estas acciones grabar salvar ambos casos de prueba. Por último debemos indicarle a GXtest en qué momento se debe avanzar (pasar de una fila a otra) en el Datapool Clientes, por este motivo debemos agregar el comando DPNext en el lugar que queremos que esto suceda. En este caso en particular se agregará el comando DPNext en la arista Init (la primer arista del modelo que se inicia en el nodo inicial) del caso de prueba Alta y Baja Cliente. Para esto hacer clic con el botón derecho arriba de dicha arista y seleccionar Add Action. Luego seleccionar el comando DPNext, pasándole como parámetro el Datapool Clientes y cualquiera de sus columnas.
  • 9. El caso de prueba “Alta y Baja Cliente” se verá algo así: Al terminar, ejecute el caso 3 veces usando el botón de Run N times o presionando Shift + F7. Este caso de prueba creará y borrará tres nuevos clientes (los especificados en el Datapool Clientes).
  • 10. 6. Invocación a procedimientos GeneXus GXtest permite de manera sencilla invocar procedimientos GeneXus para ser utilizados en las pruebas. En esta ocasión utilizaremos el procedimiento ExistClient (un procedimiento GeneXus ya creado) para determinar el flujo a seguir dentro del caso de prueba. Los procedimientos en general son utilizados para modificar, consultar o validar valores específicos de la base de datos de la aplicación. Primero dar de alta el procedimiento que se quiere utilizar en las pruebas desde Commands- >Genexus Proc y presionar el botón de Add GX Proc. Ingresar la url http://localhost/AjaxSample/aexistclient.aspx?wsdl y presionar el botón start (flecha azul). En ese momento GXtest leerá la información de los parámetros que utiliza el mismo y las presentará. Se debe indicar el tipo de comando a agregar (validación o acción) y una descripción para el mismo, en este caso ingresar “Verifica si un cliente existe o no en la aplicación” y presionar Save. Ahora disponemos de un nuevo comando “ExistClient” para ser utilizado desde las pruebas en GXtest. A este comando lo utilizaremos en el caso de prueba de Alta y Baja de Cliente para preguntar si existe el cliente antes de dar de alta. La lógica será: - Si existe, ir directamente a la baja del mismo - Si no existe, primero hacer el alta del cliente y luego la baja. Para poder expresar esto, debemos arrastrar al caso de prueba un nuevo elemento del tipo Decision. Luego unimos la arista init a la decisión agregada. A las decisiones se le pueden poner nombres intuitivos que ayuden a interpretar el caso de prueba, en este caso hacer doble clic sobre la decisión y ponerle el nombre “¿Existe Cliente?” Ahora le debemos agregar a la Decision, la condición que hace que se siga un camino u otro. Para esto hacer clic con el botón derecho sobre la misma y seleccionar Add Condition. Una vez que se abre el dialogo de comandos, se debe seleccionar una de las validaciones disponibles, en este caso observar que aparece como una validación más el procedimiento agregado de ExistClient, seleccionar el mismo e indicarle como parámetro el Datapool Clientes en su columna Nombre. Luego presionar Add Command para confirmar la creación del comando. Una vez definida la condición, unir la arista False de la Decisión al caso de prueba Alta Cliente y la arista True al caso de prueba Baja Cliente.
  • 11. Listo, ha quedado finalizado el caso de prueba. Ahora, para testear nuestro caso de prueba (sí, a los casos de prueba también hay que probarlos) vamos a crear un cliente en la aplicación para que al ejecutarse el caso de prueba Alta y Baja de Cliente, el mismo tome otro flujo y vaya directamente a la Baja. Crear entonces a mano desde la aplicación, un cliente de nombre Juan. Luego ejecutar nuevamente 3 veces el caso de prueba y analizar los resultados para visualizar su correcta ejecución. Observe el árbol de resultados para verificar que sea el esperado
  • 12. 7. Ejecución en FireFox Objetivo: Ejecutar el mismo conjunto de pruebas en otro navegador. Cambie la propiedad de ejecución del proyecto. Para esto, botón derecho en el árbol de proyecto -> Properties. Ahora ejecute nuevamente el caso de prueba anterior 3 veces, pero en FireFox.
  • 13. 8. Actualizar la versión del sistema bajo pruebas e impactar los cambios En la automatización del testing es esencial la posibilidad de adaptar los casos de prueba a los cambios que se producen al evolucionar el desarrollo en forma rápida. Por este motivo ahora ejecutaremos la funcionalidad de “Update KB Information” la cual toma la nueva KB (la nueva versión de la aplicación) y realiza el impacto de los cambios sobre los casos de prueba involucrados. A efectos de probar esto, se dispone de una copia de la versión de AjaxSample en http://localhost/NewAjaxSample/home.aspx, que es la nueva versión del sistema. Si la KB permanece en el mismo lugar (path / modelo / xpz) alcanza con hacer un Update KB. En el caso de este taller, tenemos la 2da versión de nuestra KB (NewAjaxSample) en otro archivo, por lo cual debemos indicarle a GXtest que tome la KB desde otro archivo. Ir a KB->Edit Properties, luego seleccionar la KB AjaxSample e indicarle en el campo File Path el archivo NewAjaxSampleKB.gxt. Este nuevo archivo corresponde a la KB AjaxSample con las siguientes modificaciones:  Se cambió el nombre de la transacción Client por SuperClient  Dentro de la transacción Client, se cambió el botón confirmar por el botón enter  Dentro de la transacción Client se cambió el atributo ClientFirstName por ClientName Estos cambios producen también cambios en los objetos asociados al Pattern Work With Client. Ahora si a ejecutar el Update KB desde: Knowledge Base -> Update KB Information. Nota: Es recomendable cerrar los Test Cases abiertos antes de continuar. Una vez que se actualiza la KB, GXtest leerá la información de la KB y analizará cuántos objetos han sido agregados, borrados y modificados. Por otro lado brindará un detalle de que casos de prueba quedarán en estado deshabilitados (por tener cambios que inhabilitan su ejecución) o pendientes de revisión (aquellos que GXtest aplicó una determinada heurística para su adaptación y requiere que el usuario acepte el cambio aplicado).
  • 14. Para ejecutar el caso de prueba Alta y Baja Cliente en la nueva aplicación se debe cambiar el comando Go de los casos de prueba Alta Cliente y Baja Cliente a la URL http://localhost/NewAjaxSample/home.aspx. En esa URL se encuentra la nueva aplicación a testear. Cambie la propiedad URL de proyecto, para indicar cuál es el nuevo home a probar. Bien, una vez finalizado esto, podemos correr el caso de prueba Alta y Baja Cliente con Shift+F7 indicando que corra 3 veces. Ver como ejecuta en la nueva aplicación con los cambios realizados.
  • 15. Taller Avanzado 9. Datapools con SETID Hay ocasiones en las que es necesario relacionar los datos que existen entre los diferentes Datapools utilizados en un caso de prueba. Si queremos crear países y para cada uno de ellos tenemos distintos datos de ciudades, es necesario acceder por cada línea de un Datapool de datos de países a varias líneas de un Datapool de datos de ciudades. Para no tener toda la información junta en un único DataPool, nos va a interesar hacer “filtros” en nuestros datos, accediéndolos por “conjuntos de datos”. En este caso los llamados Datapools estructurados nos permiten expresar relaciones entre los datos de los distintos Datapools. En este caso realizaremos el alta de países y sus respectivas ciudades. Para esto crear los siguientes Datapools:  Países con las columnas SetId, Nombre, IdPaís, CantidadCiudades  Ciudades con la columna SetId, Nombre, IdCiudad Las columnas SetId son las que sirven para relacionar los distintos datos. Importar el archivo Paises.csv en el Datapool Países y el archivo Ciudades.csv en el Datapool Ciudades Una vez creados los Datapools hay que grabar el caso de prueba Alta País. Ir a Record New Test Case e ingresar el nombre Alta País. Luego realizar los siguientes pasos en la aplicación:  Clic en Work With Countries. Poner Accept en el dialogo de criterio de selección.  Clic en el botón (+)  Ingresar un id, por ejemplo 999 y un nombre para el país y luego hacer clic en Confirm  Cerrar el navegador Grabar ahora Alta Ciudad. Realizando los siguientes pasos:  Clic en Work With Cities. Poner Accept en el dialogo de criterio de selección.  Clic en el botón (+)  Seleccionar el país previamente ingresado, luego ingresar un identificador y un nombre de ciudad y presionar Confirm Asociar a los casos de prueba los Datapools correspondientes. Para esto abrir el caso de prueba de Alta Pais y asignar en los comandos correspondientes el Datapool Paises con los campos Nombre e IdPais. Y luego, en el caso de prueba de Alta Ciudad usar el Datapool Paises y el Datapool Ciudades. Bien, resta agregar el comando DPNext al comienzo de los dos casos de prueba, (por ejemplo. en la arista Init). En el caso de prueba de Alta País hacer un DPNext del Datapool Paises. En el caso de prueba de Alta Ciudad hacer un DPNext del Datapool Ciudades.
  • 16. Como queremos dar de alta países y luego sus respectivas cuidades, debemos agregar dentro del caso de prueba Alta País el caso de prueba Alta Ciudad. Para esto agregar una arista desde la página Work With Countries al caso de prueba agregado “Alta Ciudad”. Ahora debemos indicarle a GXtest que el caso de prueba de Alta Ciudad incluido dentro de Alta País se debe ejecutar tantas veces como se indica en la columna CantidadCiudades del Datapool Paises, para esto hacer clic derecho sobre el caso de prueba incluido y seleccionar Properties. En dicho dialogo seleccionar Datapool y luego seleccionar el Datapool Paises, la columna CantidadCiudades. Ejecutar el caso de prueba de Alta País dos veces para ver como se dan de alta los países con sus respectivas ciudades. Parte 2 Para analizar mejor el comportamiento de los Datapools estructurados, borrar en la aplicación las ciudades y países ingresados e indicar en el Datapool Países que la cantidad de ciudades a ingresar será 1. Ejecutar nuevamente dos veces el caso de prueba Alta País. Se podrá visualizar que se ingresaron correctamente en el sistema sus países con sus respectivas ciudades.