Difference between revisions of "Crear un Caso de Prueba con Bifurcación"

From GXtest Wiki
Jump to: navigation, search
Line 1: Line 1:
 
[[category:Guías de GXtest]]
 
[[category:Guías de GXtest]]
  
En esta ocasión crearemos un caso de prueba que en base a una respuesta de la aplicación realice una u otra acción.  
+
Hay ocasiones que es necesario realizar acciones distintas de acuerdo al estado de la aplicación o a la respuesta que obtuvimos de la misma. Para ese tipo de escenarios se utiliza el constructor Decision.
En este caso el caso de prueba a crear buscará el nombre de un cliente y en base a si el mismo es de Uruguay o no tomará de decisión de visualizarlo o entrar a la página de modificación.
+
En este caso y para seguir con los ejemplos que vienen cargados con la instalación de GXtest, realizaremos el caso de prueba denominado VerClienteConCondición. Este caso de prueba consiste en entrar a trabajar con clientes y luego buscar un cliente, si el mismo tiene como país Uruguay entonces se visualizará y si tiene asociado otro país entonces se entrará a la página de modificación.
 +
 
 +
Para realizar este caso de prueba primero se deben seguir los pasos descritos en [[Crear un Caso de Prueba con DataPools]] nada más que al caso de prueba se le debe llamar VerClienteConCondición.
 +
 
 +
Luego se debe arrastrar desde el panel de objetos el constructor de Decision. Posteriormente arrastrar un elemento del tipo Page. El modelo debe quedar como se muestra a continuación:
 +
 
 +
[[Imagen:Decision.jpg |center]]
 +
 
 +
Posteriormente se debe unir la arista False con la Page agregada al diagrama y editar las propiedades de esta Page para ingresarle el nombre (Update Client) la KB (GXAjaxSample), y el objeto genexus (transacción, Client).
 +
 
 +
[[Imagen:editPageProperties.jpg|center]]
 +
 
 +
Luego de esto se debe agregar una arista que una la Page Work With Cities con el objeto Decision. Para esto se arrastra una Edge Line desde el panel de objetos y se unen los dos extremos a los nodos mencionados anteriormente. A dicha Edge Line se le debe agregar un evento del tipo DumyEvent para transitar desde la última Page a la Decision sin ejecutar ningun acción. A esta Edge también se le debe indicar que debe ejecutar en segundo lugar, para esto se hace doble clic sobre la misma y en el campo Order se ingresa una B y se presiona enter.
 +
El modelo debe quedar como se muestra en la siguiente imagen:
 +
 
 +
[[Imagen:EdgeWithDummyEvent.jpg|center]]
 +
 
 +
Luego se debe indicar la validación a realizar en la condición para eso se hace click con el botón derecho sobre la condición y se presiona AddCommand.
 +
 
 +
[[Imagen:AddCommandMenuInDecision.jpg|center]]
 +
 
 +
En este caso vamos agregar una validación del tipo AppearText pasandole por parámetro el número 94 que se corresponde con el id de Uruguay. Luego que agregamos el comando damos doble clic sobre la decisión para indicarle un nombre. En este caso le pondremos 'Es de Uruguay?' haciendo referencia a si el cliente involucrado en el caso de prueba es o no de Uruguay.
 +
 
 +
Bien, ahora queda indicar las acciones a tomar cuando el cliente es de Uruguay (arista True) y cuando no es de Uruguay (arista False). En el caso de que el cliente es de Uruguay, la arista debe tener los mismos comandos que tiene la arista ClickLinkTable que va desde la página Work With Clients a View Client, ya que queremos que en caso de que efectivamente sea de Uruguay entonces visualizar los datos del mismo. Para aprovechar los comandos que se generaron al grabar el caso de prueba podemos hacer drag&drop entre la arista ClickLinkTable y la arista True de la Decision. Luego de esto simplemente borramos la arista ClickLinkTable en cuestión y unimos la arista True con la página View Client.
 +
 
 +
[[Imagen:EdgeTrue.jpg|center]]
 +
 
 +
Ahora solo falta modelar la arista False y queda listo el caso de prueba con condición. Para eso agregamos a dicha arista el evento ClickLinkTable pasandole como parámetros el objeto WWClient y el control Update y como segundo parámetro el valor 1. El evento tiene que mostrarse entonces de la siguiente manera:
 +
 
 +
[[Image:EventCLT.jpg|center]]
 +
 
 +
Bien, ha quedado finalizado el caso de prueba, ahora a probarlo!
 +
Para eso ponemos ejecutar N veces (Shift+F7) y miramos con atención. Para los clientes Abstracta y Artech va a visualizarlos mientras que para el cliente Artech ss va a entrar a la página de modificación
 +
 
 +
== Véase también ==
 +
* [[Crear un Caso de Prueba Anidado]]

Revision as of 01:12, 28 February 2009


Hay ocasiones que es necesario realizar acciones distintas de acuerdo al estado de la aplicación o a la respuesta que obtuvimos de la misma. Para ese tipo de escenarios se utiliza el constructor Decision. En este caso y para seguir con los ejemplos que vienen cargados con la instalación de GXtest, realizaremos el caso de prueba denominado VerClienteConCondición. Este caso de prueba consiste en entrar a trabajar con clientes y luego buscar un cliente, si el mismo tiene como país Uruguay entonces se visualizará y si tiene asociado otro país entonces se entrará a la página de modificación.

Para realizar este caso de prueba primero se deben seguir los pasos descritos en Crear un Caso de Prueba con DataPools nada más que al caso de prueba se le debe llamar VerClienteConCondición.

Luego se debe arrastrar desde el panel de objetos el constructor de Decision. Posteriormente arrastrar un elemento del tipo Page. El modelo debe quedar como se muestra a continuación:

center

Posteriormente se debe unir la arista False con la Page agregada al diagrama y editar las propiedades de esta Page para ingresarle el nombre (Update Client) la KB (GXAjaxSample), y el objeto genexus (transacción, Client).

center

Luego de esto se debe agregar una arista que una la Page Work With Cities con el objeto Decision. Para esto se arrastra una Edge Line desde el panel de objetos y se unen los dos extremos a los nodos mencionados anteriormente. A dicha Edge Line se le debe agregar un evento del tipo DumyEvent para transitar desde la última Page a la Decision sin ejecutar ningun acción. A esta Edge también se le debe indicar que debe ejecutar en segundo lugar, para esto se hace doble clic sobre la misma y en el campo Order se ingresa una B y se presiona enter. El modelo debe quedar como se muestra en la siguiente imagen:

center

Luego se debe indicar la validación a realizar en la condición para eso se hace click con el botón derecho sobre la condición y se presiona AddCommand.

center

En este caso vamos agregar una validación del tipo AppearText pasandole por parámetro el número 94 que se corresponde con el id de Uruguay. Luego que agregamos el comando damos doble clic sobre la decisión para indicarle un nombre. En este caso le pondremos 'Es de Uruguay?' haciendo referencia a si el cliente involucrado en el caso de prueba es o no de Uruguay.

Bien, ahora queda indicar las acciones a tomar cuando el cliente es de Uruguay (arista True) y cuando no es de Uruguay (arista False). En el caso de que el cliente es de Uruguay, la arista debe tener los mismos comandos que tiene la arista ClickLinkTable que va desde la página Work With Clients a View Client, ya que queremos que en caso de que efectivamente sea de Uruguay entonces visualizar los datos del mismo. Para aprovechar los comandos que se generaron al grabar el caso de prueba podemos hacer drag&drop entre la arista ClickLinkTable y la arista True de la Decision. Luego de esto simplemente borramos la arista ClickLinkTable en cuestión y unimos la arista True con la página View Client.

center

Ahora solo falta modelar la arista False y queda listo el caso de prueba con condición. Para eso agregamos a dicha arista el evento ClickLinkTable pasandole como parámetros el objeto WWClient y el control Update y como segundo parámetro el valor 1. El evento tiene que mostrarse entonces de la siguiente manera:

EventCLT.jpg

Bien, ha quedado finalizado el caso de prueba, ahora a probarlo! Para eso ponemos ejecutar N veces (Shift+F7) y miramos con atención. Para los clientes Abstracta y Artech va a visualizarlos mientras que para el cliente Artech ss va a entrar a la página de modificación

Véase también