Skip to main content

Ejemplo Adaptador GUI HTML

Descripción

HTML (El Lenguaje de Marcado de Hipertexto) es el código que se utiliza principalmente para crear páginas web y sus contenidos. Debido a que es de código abierto y es compatible con todos los navegadores modernos, HTML es de uso gratuito y garantiza que el texto, imágenes y otros elementos se muestren según lo previsto. Sin HTML, todas las páginas web serían archivos de texto sin ningún tipo de formato.

Es la base de la mayoría de las páginas web;  es la forma en que les decimos a los navegadores que estructuren el contenido en títulos, encabezados, párrafos, imágenes, enlaces, listas, formularios, tablas etc...

TAST ha creado este adaptador que nos permite interactuar con todo tipo de páginas web para navegar, extraer datos, validar, como por ejemplo para:

  • Realizar una búsqueda en Google (tiempo en una ciudad) y recoger la temperatura de todo un mes.
  • Descargar PDF de una página oficial del BOE. Y después realizar una serie de comprobaciones sobre pdf, pasar pdf a txt, comprobaciones en txt, etc.
  • Realizar una búsqueda en alguna página de compras (Fnac, Zara, El Corte Inglés...) y comparar precios de productos, tanto entre los productos como con precios fijos.

A través del adaptador GUI HTML, TAST se conecta con aplicaciones web basadas en HTML y luego es posible probarlas. Este adaptador tiene una ayuda importante, Selective Mapping, que es un asistente de JavaScript que nos ayuda a mapear todos los elementos que encontremos en una página web.

Enunciado del ejercicio

TAST recogerá diferentes URL's (seis en concreto) que habremos incluido en una Excel y las abrirá una a una con el Adaptador GUI HTML. Estas URL's corresponden a 6 páginas Web. Obtendremos una captura de pantalla de las diferentes Url's' que se han ido abriendo.
Tip: utilizamos la función getNumColumns o getNumRows  como valor final del bucle. Utilizamos un bucle while o for de TAST.

Resolución del caso de prueba

Hemos diseñado este caso de prueba utilizando tres Adaptadores: el Adaptador Objeto de Usuario, el Adaptador Excel, y el Adaptador GUI HTML. También hemos creado el bucle WHILE, con el que ejecutaremos los mismos pasos, mientras se cumpla la condición que le indicamos en las propiedades del Fragmento Combinado.

Este es el enlace al siguiente diagrama: https://app.cloud1.testautomationsystemtool.com/opendiagram?id=12085

 

Ejemplo de Adaptador GUI HTML1.png

 

 

Adaptador Usuario

Siempre presente en todos los diagramas. Todos los mensajes definidos en el diagrama parten de este adaptador. No tiene parámetros de inicialización.

Adaptador Excel

Intentará leer y analizar la hoja Excel. Los parámetros de inicialización necesarios para este adaptador son los siguientes:

  • FilePath: representa la ruta completa y el nombre del archivo Excel que está siendo utilizado en esta instancia del Adaptador de Excel:
      • C:\test\URLsPERIODICOS.xlsx
  • Sheet:  indica el número de la hoja del archivo Excel con la que vamos a trabajar: 1

Adaptador GUI HTML

En la configuración del adaptador debemos incluir los siguientes datos:

  • Url: primera url a localizar cuando se crea el adaptador.
  • Browser:  el navegador que utilizará en la prueba.
  • Validate Insert Values: indica si el adaptador debe validar o no los valores que recibe el adaptador durante la ejecución. Por defecto, está desmarcado. La recomendación es mantenerlo desmarcado por razones de rendimiento.

Funciones y elementos relevantes

Separaremos las funciones por el adaptador al que pertenecen.

Funciones que hemos utilizado con el Adaptador Objeto de Usuario

  • SetVariable: creamos la #Fila, cuyo nombre es introducido cómo parámetro, para usarla a lo largo del caso prueba. Le damos el valor: 1, y especificamos el tipo de dato: INTEGER. En este primer mensaje lo que queremos al darle el valor 1 a la #Fila, es que tome el valor de la Fila 1.

Es importante especificar con qué tipo de dato estamos trabajando. Estos pueden ser: boolean, string, integer, double, etc…

En el último mensaje dentro del bucle volvemos a usar esta función predefinida. En este caso el valor que le damos a la #Fila, el de #Fila + 1. Irá cogiendo los valores de las sucesivas Filas 2, 3, 4, 5, 6, del archivo excel. Cada vez que coja el valor de una Fila se repetirán los mensajes que están dentro del bucle. Así sucesivamente hasta llegar a la Fila 7, donde deja de cumplirse la condición del bucle.

Funciones que hemos utilizado con el Adaptador GUI HTML

  • closeAllWindows: cierra todas las ventanas del adaptador instanciado. Dejara cerradas las seis ventanas de las seis páginas web que hemos ido abriendo.
  • openUrl: Abre una nueva url del navegador. Tiene una serie de parámetros opcionales, para comprobar si la url se abrió y tiempo de espera antes de verificarla. En este caso le indicamos el valor #URL.
  • takeScreenshot: toma una captura de pantalla de cada página web que ha ido abriendo.
  • waitFor: espera el tiempo en segundos que le indiquemos al hacer el mapeo del mensaje: 2.

Funciones que hemos utilizado con el Adaptador Excel

  • getNumRows: esta función recoge el número de filas de la TastTableData generada al leer la hoja Excel. Nos dará como resultado: 6, qué es el número de filas que hemos creado, una por cada dirección.
  • getTableValue: recoge el valor contenido de la celda indicada por los parámetros RowNum y ColNum (#Fila y 3). Irá recogiendo las distintas URL's empezando por la Fila 1, columna 3, después con la Fila 2, columna 3, etc… mientras se cumpla la condición o guardia especificada en el
Fragmento Combinado: Bucle WHILE
  • Guardia #Fila < = #FilasTotales

Es decir, mientras el valor de la variable Fila (valor 1) sea menor o igual al valor de la variable FilasTotales (valor 6).
Este es un caso muy sencillo, porque el número de urls's que vamos a abrir es sólo de seis, pero imaginemos por un momento que tuviéramos que hacer esta comprobación con todos los diarios de nuestro país. Gracias a esta herramienta que nos proporciona TAST, esto se haría de una manera más ágil.

 

 

 

Ejemplo de Adaptador GUI HTML2.png

Ejecución del Test Set

When we finish executing this test case, we see if it has been executed correctly:

ExecutionGUIHTMLAdaptor.png

Captura de resultados

We then open the icon on the right (marked with a red arrow) and we have as a result the evidence folder, where both the log of the execution is stored, as well as all the screenshots, files, etc... if we have checked the "Evidence" box in the general settings of the diagram.

Carpeta de evidencias

EvidenceFolder.png

Log de la ejecución  

LogGUIHTMLAdaptor.png

A la hora de devolvernos los resultados, TAST nos devuelve un documento Word, en el que se detallan los pasos que hemos realizado, los resultados obtenidos de cada paso, los links al diagrama y al test set, si hemos dado a descargar documento en la casilla de Resultados.

ts_prueba_gui_y_excel_sin_gate_10.01.2022_10.03.55_10.01.2022_10.04.34.docx

 


ts_Excel Adaptor - GUI HTML Adaptor Example_20.05.2024 14.31.12_20.05.2024 14.34.04.docx

Archivos necesarios para ejecutar el caso

Antes de diseñar el caso de prueba, hemos creado un archivo xlsx. En él hemos copiado las seis urls de seis periódicos distintos. Hemos empezado por la Fila 1, Fila 2,…. hasta la Fila 6. Mientras que la columna es siempre la misma, la 3. Lo guardamos en el directorio C:\test\ con el nombre que le hayamos dado, en este caso URLsPERIODICOS.xlsx

Ejemplo de Adaptador GUI HTML.png

Antes de hacer la ejecución de este caso de prueba, debemos comprobar que el archivo .xlxs esté cerrado, porque de lo contrario, nos dará error.