Taller
IntroducciónEl taller consta de dos partes, un taller inicial y un taller avanzado. El taller inicial sigue unaserie de pa...
Taller Inicial1. Crear el proyecto “AjaxSample”Objetivo: Crear el primer proyecto en GXtest para automatizar una aplicació...
2. Crear caso de prueba de Alta de ClienteObjetivo: Crear el primer caso (grabando desde la aplicación) y ejecutarloEn est...
f.    Validar que el apellido sea el ingresado en el paso (b).      Para ingresar esta validación seguir los pasos que se ...
3. Crear un caso de prueba de Baja de ClienteEsta vez se creará un caso de prueba de Baja de Cliente pero grabándolo de ma...
4. Crear el caso de prueba Alta y Baja ClienteObjetivo: Crear un caso de prueba compuestoAhora se creará un único caso de ...
5. Utilización de Datapools, crear el Datapool ClientesObjetivo: Parametrizar un caso de prueba en GXtest para ejecutar co...
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 tim...
6. Invocación a procedimientos GeneXusGXtest permite de manera sencilla invocar procedimientos GeneXus para ser utilizados...
Listo, ha quedado finalizado el caso de prueba. Ahora, para testear nuestro caso de prueba (sí,a los casos de prueba tambi...
7. Ejecución en FireFoxObjetivo: Ejecutar el mismo conjunto de pruebas en otro navegador.Cambie la propiedad de ejecución ...
8. Actualizar la versión del sistema bajo pruebas e impactar los cambiosEn la automatización del testing es esencial la po...
Para ejecutar el caso de prueba Alta y Baja Cliente en la nueva aplicación se debe cambiar elcomando Go de los casos de pr...
Taller Avanzado9. Datapools con SETIDHay ocasiones en las que es necesario relacionar los datos que existen entre los dife...
Como queremos dar de alta países y luego sus respectivas cuidades, debemos agregar dentrodel caso de prueba Alta País el c...
Upcoming SlideShare
Loading in...5
×

Taller de gxtest

717

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
717
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Taller de gxtest

  1. 1. Taller
  2. 2. IntroducciónEl taller consta de dos partes, un taller inicial y un taller avanzado. El taller inicial sigue unaserie de pasos para mostrar los principales conceptos de GXtest. Por otro lado el talleravanzado muestra algunos conceptos más complejos que la herramienta permite manejar paraexpresar 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 “MaterialTaller”, la cual está en el escritorio de la máquina virtual.Glosario GeneXusKnowladge Base (KB): la KB GeneXus es el modelo de desarrollo de la aplicación. A partir de lamisma 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 deuna KB GeneXus. Hay varios tipos, Transacciones, Web Panels, procedimientos, etc.Control GeneXus: es un elemento que se encuentra dentro de un objeto GeneXus del tipoTransacción o Web Panel y sirve para describir la página web que el muestra. Un control puedeser por ejemplo un campo en una pantalla, un botón, un combo, etc.
  3. 3. Taller Inicial1. Crear el proyecto “AjaxSample”Objetivo: Crear el primer proyecto en GXtest para automatizar una aplicación Web: AjaxSampleAbrir GXtest Designer (en el escritorio se puede encontrar el link que dice GXtest). PresionarOk 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óncon la cual se va a trabajar, para esto hacer clic en el botón con la figura de (+). Luego hacerclic 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 queGXtest utiliza. Luego que se selecciona el archivo presionar Ok. GXtest informará que seimportó correctamente la KB. Luego de esto en el dialogo de creación del proyecto, en elcampo 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 puedeutilizarse 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 lainformación necesaria para GXtest.La extensión viene en el directorio de instalación de GXtest, o puede bajarse desde GeneXusMarketplace.Campo URL: ingresar la siguiente url: http://localhost/AjaxSample/home.aspx. Al momento deiniciar una grabación de un caso de prueba, GXtest sugerirá esta URL para comenzar lagrabación.Tip: la variable estándar URLHome, hace referencia a la propiedad URL del proyecto, por locual si no se quiere dejar fija una URL en los casos de prueba, se puede hacer referencia a estavariable, de este modo si se cambia la aplicación de servidor, solo se deberá modificar estapropiedad.Para finalizar, presionar el botón Ok y se creará el proyecto el cual quedará abierto.
  4. 4. 2. Crear caso de prueba de Alta de ClienteObjetivo: Crear el primer caso (grabando desde la aplicación) y ejecutarloEn esta sección se grabará el caso de prueba de Alta Cliente de manera on-line utilizando elcomponente GXtest Recorder.Hacer clic con el botón derecho sobre el nodo Test Cases que aparece en el panel derecho deGXtest Designer, luego seleccionar Record New Test Case. Ingresar el nombre “Alta Cliente” yluego presionar el botón rojo para comenzar a grabar.GXtest abrirá el navegador para comenzar a grabar las acciones que se realicen sobre elmismo. Seguir los siguientes pasos en la aplicación como parte del caso de prueba que sequiere 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. 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 deprueba, se recomienda recorrer el modelo que se ha creado para recorrer las distintasacciones que hemos realizado sobre el navegador.Iniciar en el nodo Start, siguiendo por la arista Init y así sucesivamente. Recordar que cuandose tiene más de una arista saliente desde una página, primero se recorre la arista con letra A yluego la B.Una vez que se haya entendido el modelo creado por GXtest, ingresar a la aplicación y borrarel cliente recientemente creado y luego ejecutar en el caso de prueba automatizado. Estovolverá 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 semostrará en GXtest. Intente navegar en el árbol de resultados y recorrer la secuencia de todoslos comandos ejecutados con sus respectivos parámetros.Ejercicio: Intente cambiar algo en el caso de prueba de modo tal que falle algo al ejecutar, amodo de ver como se muestran los fallos detectados. Por ejemplo, cambie el comando dondese verifica el apellido, y ponga otro apellido distinto, o cambie el criterio de selección del clicen el menú, como para que vaya a otro elemento.
  6. 6. 3. Crear un caso de prueba de Baja de ClienteEsta 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 yluego presionar el botón rojo para comenzar a grabar. GXtest Recorder pedirá que se indiquedonde 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ónderecho sobre el nodo Test Cases, luego seleccionar la opción “Import Test Case” y seleccionarel archivo generado.Nota: Cuando importamos un caso de prueba grabado en GXtest Recorder, GXteset Designerarma un modelo que expresa dicho caso de prueba. Repasar este modelo y visualizar lasdistintas 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. 7. 4. Crear el caso de prueba Alta y Baja ClienteObjetivo: Crear un caso de prueba compuestoAhora se creará un único caso de prueba que realice el alta del cliente y luego la baja delmismo 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 eindicar “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 lamisma 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 ejecutaro Shift + F5.
  8. 8. 5. Utilización de Datapools, crear el Datapool ClientesObjetivo: Parametrizar un caso de prueba en GXtest para ejecutar con un conjunto variable dedatos (Data Driven Testing)GXtest permite utilizar este enfoque mediante el concepto de Datapools . En este caso secreará el Datapool Clientes el cual contendrá toda la información relacionada a los clientes quese utiliza en los casos de prueba.Crear un nuevo Datapool de nombre Clientes (botón derecho sobre el nodo Datapools ypresionar “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 deun archivo CSV. En esta ocasión ingresaremos tres conjunto de datos desde un CSV. Para estopresionar 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 pruebadonde se utilizará el mismo. Primero comenzar con el caso de prueba de Alta Cliente, sedeben sustituir todos los valores fijos que se han ingresado e indicarle a GXtest que se tomendesde el Datapool Clientes. En el caso de prueba de Alta Cliente seleccionar la arista “ClickGX_BtnEnter” y sustituir en los distintos comandos FillInput los valores fijos por los valores delDatapool Clientes. Para realizar esto hacer clic con el botón derecho sobre el comando que sequiere modificar y presionar Edit Command (o haciendo doble clic sobre el comando). Cambiarlos parámetros correspondientes desde la opción Value a la opción Datapool e indicar lacolumna adecuada dentro del Datapool Clientes. Realizar la mismas acciones en la arista “Clickin Table” en los comandos ClickTable y VerifyControlText. Una vez finalizado el caso de pruebade Alta Cliente, se debe proceder a hacer lo mismo con el caso de prueba de Baja Cliente, enesta ocasión hay que cambiar los comandos de la arista Click in Table. Una vez terminadasestas acciones grabar salvar ambos casos de prueba.Por último debemos indicarle a GXtest en qué momento se debe avanzar (pasar de una fila aotra) en el Datapool Clientes, por este motivo debemos agregar el comando DPNext en ellugar que queremos que esto suceda. En este caso en particular se agregará el comandoDPNext en la arista Init (la primer arista del modelo que se inicia en el nodo inicial) del casode prueba Alta y Baja Cliente. Para esto hacer clic con el botón derecho arriba de dicha aristay seleccionar Add Action. Luego seleccionar el comando DPNext, pasándole como parámetro elDatapool Clientes y cualquiera de sus columnas.
  9. 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 DatapoolClientes).
  10. 10. 6. Invocación a procedimientos GeneXusGXtest permite de manera sencilla invocar procedimientos GeneXus para ser utilizados en laspruebas. En esta ocasión utilizaremos el procedimiento ExistClient (un procedimiento GeneXusya creado) para determinar el flujo a seguir dentro del caso de prueba. Los procedimientos engeneral son utilizados para modificar, consultar o validar valores específicos de la base dedatos 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 elmismo y las presentará. Se debe indicar el tipo de comando a agregar (validación o acción) yuna descripción para el mismo, en este caso ingresar “Verifica si un cliente existe o no en laaplicación” y presionar Save. Ahora disponemos de un nuevo comando “ExistClient” para serutilizado desde las pruebas en GXtest.A este comando lo utilizaremos en el caso de prueba de Alta y Baja de Cliente para preguntarsi 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 tipoDecision. Luego unimos la arista init a la decisión agregada. A las decisiones se le puedenponer nombres intuitivos que ayuden a interpretar el caso de prueba, en este caso hacer dobleclic 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 vezque 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 deExistClient, seleccionar el mismo e indicarle como parámetro el Datapool Clientes en sucolumna 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 yla arista True al caso de prueba Baja Cliente.
  11. 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ónpara que al ejecutarse el caso de prueba Alta y Baja de Cliente, el mismo tome otro flujo y vayadirectamente 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 visualizarsu correcta ejecución. Observe el árbol de resultados para verificar que sea el esperado
  12. 12. 7. Ejecución en FireFoxObjetivo: Ejecutar el mismo conjunto de pruebas en otro navegador.Cambie la propiedad de ejecución del proyecto. Para esto, botón derecho en el árbolde proyecto -> Properties.Ahora ejecute nuevamente el caso de prueba anterior 3 veces, pero en FireFox.
  13. 13. 8. Actualizar la versión del sistema bajo pruebas e impactar los cambiosEn la automatización del testing es esencial la posibilidad de adaptar los casos de prueba a loscambios que se producen al evolucionar el desarrollo en forma rápida. Por este motivo ahoraejecutaremos la funcionalidad de “Update KB Information” la cual toma la nueva KB (la nuevaversión de la aplicación) y realiza el impacto de los cambios sobre los casos de pruebainvolucrados.A efectos de probar esto, se dispone de una copia de la versión de AjaxSample enhttp://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 otroarchivo, 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 elarchivo 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 ClientNameEstos cambios producen también cambios en los objetos asociados al Pattern Work WithClient.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 objetoshan sido agregados, borrados y modificados. Por otro lado brindará un detalle de que casos deprueba quedarán en estado deshabilitados (por tener cambios que inhabilitan su ejecución) opendientes de revisión (aquellos que GXtest aplicó una determinada heurística para suadaptación y requiere que el usuario acepte el cambio aplicado).
  14. 14. Para ejecutar el caso de prueba Alta y Baja Cliente en la nueva aplicación se debe cambiar elcomando Go de los casos de prueba Alta Cliente y Baja Cliente a la URLhttp://localhost/NewAjaxSample/home.aspx. En esa URL se encuentra la nueva aplicación atestear.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 conShift+F7 indicando que corra 3 veces.Ver como ejecuta en la nueva aplicación con los cambios realizados.
  15. 15. Taller Avanzado9. Datapools con SETIDHay ocasiones en las que es necesario relacionar los datos que existen entre los diferentesDatapools utilizados en un caso de prueba. Si queremos crear países y para cada uno de ellostenemos distintos datos de ciudades, es necesario acceder por cada línea de un Datapool dedatos de países a varias líneas de un Datapool de datos de ciudades. Para no tener toda lainformació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 losdatos de los distintos Datapools.En este caso realizaremos el alta de países y sus respectivas ciudades. Para esto crear lossiguientes Datapools: Países con las columnas SetId, Nombre, IdPaís, CantidadCiudades Ciudades con la columna SetId, Nombre, IdCiudadLas columnas SetId son las que sirven para relacionar los distintos datos. Importar el archivoPaises.csv en el Datapool Países y el archivo Ciudades.csv en el Datapool CiudadesUna 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 enla 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 navegadorGrabar 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 ConfirmAsociar a los casos de prueba los Datapools correspondientes. Para esto abrir el caso deprueba de Alta Pais y asignar en los comandos correspondientes el Datapool Paises con loscampos Nombre e IdPais. Y luego, en el caso de prueba de Alta Ciudad usar el Datapool Paisesy 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 elcaso de prueba de Alta Ciudad hacer un DPNext del Datapool Ciudades.
  16. 16. Como queremos dar de alta países y luego sus respectivas cuidades, debemos agregar dentrodel caso de prueba Alta País el caso de prueba Alta Ciudad. Para esto agregar una arista desdela 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 AltaPaís se debe ejecutar tantas veces como se indica en la columna CantidadCiudades delDatapool Paises, para esto hacer clic derecho sobre el caso de prueba incluido y seleccionarProperties. En dicho dialogo seleccionar Datapool y luego seleccionar el Datapool Paises, lacolumna CantidadCiudades.Ejecutar el caso de prueba de Alta País dos veces para ver como se dan de alta los países consus respectivas ciudades.Parte 2Para analizar mejor el comportamiento de los Datapools estructurados, borrar en la aplicaciónlas ciudades y países ingresados e indicar en el Datapool Países que la cantidad de ciudades aingresar será 1. Ejecutar nuevamente dos veces el caso de prueba Alta País. Se podrá visualizarque se ingresaron correctamente en el sistema sus países con sus respectivas ciudades.

×