Skip to main content

Ejemplo Adaptador de Archivos PDF

English

Descripción

El Adaptador PDF nos va a permitir interactuar con un archivo .pdf. Vamos a poder realizar múltiples funciones con él. Podemos partir del archivo .pdf que indiquemos en la configuración. En este caso solo necesitaríamos en nuestro diagrama dicho adaptador. Pero TAST nos permite mucho más y utilizando otro adaptador, el adaptador GUI HTML, podremos también descargarnos cualquier documento .pdf que nos resulte necesario tener de cualquier página web.

Una vez descargado, comprobaremos si se ha generado correctamente, si contiene la información que le indicamos, así como añadir páginas, párrafos, imágenes, tablas. Nos va a permitir configurar el tipo, tamaño y color del texto que agreguemos al documento posteriormente. Vamos a poder convertir una página específica en una imagen .jpeg que permitirá al usuario cargarla en cualquier aplicación que le ayude a identificar las coordenadas donde aparezca una parte con texto contenido en ese documento. Incluso podremos rellenar un formulario y enviarlo. En definitiva, será de gran utilidad para probar todos aquellos procesos en los que se implique la creación de un archivo .pdf.

Enunciado del ejercicio

Vamos a entrar en la página web del Ministerio de Asuntos Exteriores, Unión Europea y Cooperación: https://www.exteriores.gob.es/

Accedemos a Ministerio, después a menú Contacto y descargaremos un documento PDF que seleccionamos. Elegiremos el que contiene el “Listado de Embajadores y Embajadoras de España en el exterior”. Una vez descargado, vamos a realizar una serie de comprobaciones, cómo son:

  • Cuente el número de páginas: 6.
  • Cuente el número de embajadores/as que fueron nombrados en 2024, mirando todas las fechas. Encuentra 39.
  • Recoja el texto completo de ese documento PDF y lo convierta en un documento txt, y también lo recoja y escriba página por página. Creamos un bucle FOR, con una condición #i > = #numPages, para que recupere el texto de todas las páginas y genere como evidencia un fichero con todo el texto recuperado.
  • así como la última actualización (se calcula el número de días que hace que se actualizó por última vez, haciendo una resta con un JavaScript de la fecha actual menos la fecha de la última actualización): 48 días
  • Descarga ese documento como evidencia en un documento PDF.
  • Busque VIETNAM en las páginas de este documento PDF descargado. 
  • Captura la página donde aparece VIETNAM en un fichero jpeg.

Resolución del caso de prueba

Hemos diseñado este caso de prueba utilizando cuatro Adaptadores: el Adaptador Objeto de Usuario, el Adaptador GUI HTML, el Adaptador PDF y el Adaptador  de Texto.

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

Diagrama.png

Para recoger todo el texto 

Bucle For GetPage.png

Para buscar VIETNAM en el PDF usamos un Bucle FOR, donde añadimos la condición:

#i < = #numPages && #bool_encontrado == false

De esta manera irá buscando desde la primera página hasta que llegue a encontrar dicha palabra y ahí se parará.

Bucle For Vietnam.png

Adaptadores utilizados

Los adaptadores utilizados para este caso de prueba son los siguientes:

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 GUI HTML

A través del adaptador GUI HTML, TAST se conecta con aplicaciones web basadas en HTML. Los parámetros de inicialización para este ejemplo son los siguientes:

  • Browser: El navegador que utilizará en la prueba. Le indicamos: Chrome. Por defecto si no le indicamos ninguno sería Internet Explorer.

Adaptador PDF

El adaptador PDF nos permite interactuar con un fichero .pdf, para que pueda comprobar si ha sido generado correctamente y realizar comprobaciones.

  • FilePath: C:\test\Embajadores_en_el_exterior.pdf
  • Marcamos la casilla: CompressSpaces
  • Marcamos la casilla: DeleteLineReturn

Adaptador TXT

Cómo parámetro de inicialización le indicaremos la ruta completa del archivo y el tipo de codificación.:

  • File Path: C:\test\descargatexto.txt
  • CharSet (Opt.): el tipo de codificación que elegimos es: UTF-8. Si hay algún carácter extraño, lo leerá bien.
  • Marcamos la casilla: Create/Overwrite

Funciones y elementos relevantes

Separaremos las funciones por el adaptador al que pertenecen:

Funciones del Adaptador Usuario

  • executeJavaScript: ejecuta las distintas funciones JavaScript que le indicamos.
  • getCurrentDate: devuelve por defecto la fecha actual con el formato o formato establecido en un parámetro de tipo TastTableDataBase.
  • dateDifference: devuelve la diferencia entre fechas.
  • setVariable: crea una variable cuyo nombre es introducido como parámetro

Funciones del Adaptador GUI HTML

  • mouseOver: sitúa el ratón sobre el elemento html.
  • click: hace clic sobre el elemento html.
  • clickAction: antes de hacer clic sobre el elemento html, simula el movimiento del ratón.
  • scrollToElement: hace scroll en la página hasta el elemento html especificado.
  • closeAllWindos: cierra todas las ventanas del adaptador.
  • fileDownload: descarga un archivo.
  • type: con esta función acciona una o más teclas del teclado.
  • openUrl: abre una nueva url del navegador.
  • waitFor: espera el tiempo en segundos que le indiquemos al hacer el mapeo del mensaje: 1, 2, etc…

Funciones del Adaptador PDF

  • getNumPages: devuelve el número de páginas del documento. En este caso nos devuelve 6.
  • getTextCountOnDocument: Cuenta el número de veces que el texto de búsqueda está presente en el documento. Hemos buscado “nombramientos en el año 2024”. Nos devuelve 37.
  • getPageText: permite recuperar el texto contenido en una página del documento. Nos ha recuperado el texto de todas las páginas, ya que hemos incluido un bucle FOR con la condición #i < = numPags.
  • checkTextOnPage: devuelve verdadero, si encuentra el texto especificado por el parámetro Search Text.
  • getPageAsImage: transforma una página de ese documento en imagen jpg.

Funciones del adaptador TXT

  • writeTo: Ha ido escribiendo la cadena de texto que ha recogido de todas las páginas, en el archivo txt. Este archivo se ha guardado en C:\pruebaMAUC\pdf.txt.
  • writeEnter: Añade un salto de línea al fichero. Gracias a esta función cada línea recoge la cadena de texto de cada página.
  • getReadLine: Recoge el contenido de la línea indicado por el parámetro numLine.
  • getFileText: Lee el contenido del fichero y lo retorna como una variable TastDataString. No requiere parámetros de entrada.

Ejecución del Test Set

Ejecución.png

Captura de resultados

A continuación abrimos el icono de la derecha (marcado con una flecha roja) y tenemos como resultado la carpeta de evidencias, donde se almacena tanto el log de la ejecución, como todas las capturas de pantalla, archivos, etc... si hemos marcado la casilla «Evidencias» en la configuración general del diagrama.

Ejemplo de los pantallazos, ficheros recogidos y el log de la ejecución:

Carpeta de evidencias.png

Ejemplo de la página que ha convertido en fichero jpeg:

 

PaginaVietnam.png

 

Ejemplo del documento pdf (2 páginas) descargado como evidencia:

Documento.png

 

 

Texto recogido

DescargarTexto.png

 

Log de la ejecución   

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 enlaces al diagrama y al test set, si hemos dado a descargar documento en la casilla de Resultados: