Skip to main content

Adaptador Host 3270

English

Introducción

Con este Adaptador, que ha creado TAST, lo que hacemos es conectarnos a cualquier Host e interactuar con él. Nos permite por un lado hacer pruebas en pantallas mainframe HOST y también generar macros que permiten automatizar pruebas en sistemas “transformados a HTML”.

Es decir, realizamos la grabación de una serie de acciones de teclado que después se ejecutarán. Este proceso genera un archivo, que se guarda automáticamente en una ruta en nuestro directorio. Después accedemos a TAST y desde la casilla Asistentes lo importamos y nos generará un diagrama que reflejará paso a paso todas las acciones realizadas. Posteriormente lo guardaremos, validaremos y lo ejecutaremos en el cliente de TAST.

Parámetros de Inicialización

Hay que tener descargado el ejecutor: “jagacy3270-5.4.0.jar”. En el proceso de inicialización es necesario proporcionar la siguiente información  para que se pueda establecer la conexión con el servidor Host 3270. 

  • Host: nombre de la máquina o dirección IP. Obligatorio. SESSION_HOST.
  • Port: puerto de conexión. Obligatorio. SESSION_HOST_PORT. Es 23 por defecto.
  • Use proxy: debe estar marcado si se quiere usar un proxy.
  • Proxy host: nombre del proxy o dirección IP. Por defecto es localhost.
  • Proxy port: puerto del proxy. Es 1080 por defecto.
  • LU Name: nombre de la conexión LU, opcional.
  • Enhanced: indica si se emplea el protocolo Mejorado (por defecto no está marcado) SESSION_TN_ENHANCED.
  • Telnet_Negotiated: la información telnet.
  • Server_Authentication: información de autenticación al 3270 Server.
  • Client_Certificate_Autentication: certificado de autenticación.
  • Personal_Certificate: certificado personal de autenticación.
  • Personal_Certificate_File Path: ruta de acceso al Certificado de autenticación.
  • Personal_Certificate_pass: pase al Certificado de autenticación.
  • Certificate_Name: nombre del certificado.
  • Certificate_Pass: pase al Certificado.
  • Certificate_Source: fuente del Certificado.
  • Certificate_URL: Url al Certificado.
  • Prompt_Required: PromptRequired.
  • Certificate_Based_Keys: llaves basadas en certificados.
  • SSL: SSL.
  • KeyStore_FilePath: KeyStore File Path.
  • P12_FilePath: P12 File Path.
  • KeyStore_Pass: KeyStore Pass.
  • Certificate_Trusted: certificado de autenticación.
  • Code_Page: código de página. Por defecto es INTERNAL – Built-in EBCDIC conversion (CP037).
  • Session_Type: tipo de sesión.
  • Security_Type: tipo de seguridad.
  • Protocol: protocolo.
  • Protocol_Version: versión del protocolo.
  • Certificate_Type: tipo de certificado.

Funciones Predefinidas (PF's)

Estas dos nuevas funciones me las paso Mirela en inglés pero habrá que confirmar que están en Cloud 1 en el siguiente despliegue. Una de ellas ya estaba 

  • writeKeys: envía las teclas dadas. Traducido por MTM. Esta es nueva? Si ya estaba documentada, bueno sin la s final
  • getTextLocation: busca un texto y devuelve su posición. Si no se encuentra la posición devuelve(-1, -1). Traducido por MTM.
  • clearAndWriteField: limpia y escribe un texto en un campo, en el campo indicado.
      • Parámetro Field: número de campo empezando por 1.

      • Parámetro Offset: offset en el campo empezando por 1.

      • Parámetro Value: texto.

  • clearField: limpia el campo con número de campo introducido en el parámetro.
  • containsText(Text): esta función evalúa si dentro de una pantalla host, existe un texto en concreto que definimos en dicha función.
      • Parámetro Text: en el mapeo del mensaje se añade en el campo Value el texto que queremos encontrar.

  • getLenghField: obtiene la longitud del campo con número de campo introducido en el parámetro.
  • nextScreen: esta función directamente avanza a la pantalla siguiente de navegación (previamente habrás tenido que pasar por ella para que la encuentre). No requiere parámetros en su codificación.
  • previusScreen: esta función directamente avanza a la pantalla anterior de navegación. No requiere parámetros en la codificación.
  • readField(Field,Offset,Length): esta función lee un campo que definimos en los parámetros de la misma.
      • Parámetro Field: posición (numérica) en que está situado el campo.

      • Parámetro Offset: posición dentro del campo a partir de la cual quieres leer.

      • Parámetro Length: longitud del campo que vamos a leer.
        Estos 3 parámetros se obtienen pulsando el botón derecho del ratón, sobre el campo que queremos leer.

readField.png

  • readRow(Row): esta función lee una línea determinada de la pantalla. Toda la línea.
      • Parámetro Row: posición (numérica) en que está situado la línea.
        Este parámetro se obtienen pulsando el botón derecho del ratón, sobre la línea que queremos leer.

readField.png

  • readScreen: esta función lee la pantalla en la que estas posicionado. Función sin parámetros.
  • readScreenByRows: lee la pantalla actual por filas.
  • rowContaintsText(Text,Row): esta función comprueba si existe un determinado texto en una linea de pantalla.
      • Parámetro Text: introducimos el texto a buscar.

      • Parámetro Row: posición (numérica) de la línea.
        Estos parámetros se obtienen pulsando el botón derecho del ratón, sobre la línea que queremos encontrar el texto definido.

readField.png

  • waitCRC(screen_CRC): esta función espera a que aparezca la pantalla que queremos ver a continuación.
      • Parámetro screen_CRC: Value → Se obtiene pulsando botón derecho del ratón sobre la pantalla que queremos mostrar.

readField.png

  • waitFor: espera a que transcurra el tiempo en segundos recibido en el parámetro.
  • waitForChange(TimeOut(msec): esta función espera por tiempo a que se muestre la siguiente pantalla.
      • Parámetro TimeOut(msec): Value→ tiempo en msec de espera a ser mostrada.

  • waitForText(Text,Row,Column): esta función espera a que aparezca un determinado texto para mostrar la siguiente pantalla.
      • Parámetro Text: Value→ texto que debe aparecer.
      • Parámetro Row: línea de la palabra.
      • Parámetro Column: columna de la palabra.
  • writeAftherLabel(Label,Text): esta función escribe en la pantalla cualquier texto, después de que se haya mostrado (en la pantalla) la etiqueta que hemos definido en el parámetro Label.

      • Parámetro Label: Value→ texto que debe aparecer.

      • Parámetro Text: texto que vamos a escribir.

  • writeBeforeLabel(Label,Text): esta función escribe en la pantalla cualquier texto, antes de que se haya mostrado (en la pantalla) la etiqueta que hemos definido en el parámetro Label.
      • Parámetro Label: Value→ texto que debe aparecer.

      • Parámetro Text: texto que vamos a escribir.

  • writeField(Text,Field,Offset): esta función escribe en un determinado campo el valor que definimos en el parámetro Texto.
      • Parámetro Text: Value→ texto que debe aparecer.

      • Parámetro Field: campo que vamos a escribir.

      • Parámetro Offset: posición del campo.
        Estos parámetros se obtienen pulsando botón derecho del ratón sobre la pantalla que queremos mostrar.

readField.png

  • writeKey(Key): esta función ejecuta una tecla predefinida de la pantalla.
    (ENTER, PF8, PF4,etc…).
      • Parámetro Key: Value→ tecla de función.

  • writeKeyUntilFind(Key, Text): esta función ejecuta la tecla de función (Key) y espera a que aparezca en pantalla el texto (Text).
  • writeText(Text,Row,Column): esta función escribe un texto en una posición definida.
    (línea y columna).
      • Parámetro Text: Value→ texto a escribir.

      • Parámetro Row: Value→ número de Línea.

      • Parámetro Column: Value→ número de columna.
        Estos parámetros se obtienen pulsando botón derecho del ratón sobre la pantalla que queremos mostrar.

readField.png

Generación de macros

Como ya se ha mencionado en la Introducción, con este Adaptador, se pueden generar macros que permiten automatizar pruebas en sistemas “transformados a HTML”. Vamos a explicar, como se realiza la grabación de una serie de acciones de teclado, para después poder ejecutarlas.

Nos conectamos al emulador 3270:

Macro3270-1.png

Pulsamos la opción Macro para grabar la prueba y después marcamos la opción Record en el desplegable que nos aparece.

Macro3270-2.png

Damos un nombre de archivo.

Macro3270-3.png

Y empezamos la grabación, confirmando al pulsar la casilla Aceptar.

Macro3270-4.png

Una vez que finalizamos, detenemos la grabación, pulsando Stop recording en el desplegable.

Macro3270-5.png

Y confirmamos la detención pulsando la casilla Aceptar.

Macro3270-6.png

Este proceso genera un archivo toExport que se guarda automáticamente en la siguiente ruta:
C:\Users\xxxxx\jagacy_data
donde xxxxx variará en función del nombre de cada usuario. Más tarde necesitaremos buscar este archivo para importarlo.

ExportMacro3270-7.png

Seguidamente, accedemos a la herramienta TAST.

  • Marcamos la casilla de nuevo diagrama y accedemos a Dominio, Proyecto, Carpeta, Nombre del diagrama y Descripción del diagrama, cómo hacemos siempre que diseñamos uno nuevo. Después aparece el Canvas o lienzo en blanco.
  • Accedemos a la barra de herramientas y nos posicionamos en la casilla de Asistentes.
  • Nos aparecerá un desplegable con diferentes opciones. Las opciones a elegir son:

      • Importación de 3270 a 3270.
      • Importación de 3270 a HTML.
  • Importamos desde el asistente el archivo toExport que hemos grabado y se ha guardado en la Unidad C:
  • En cualquiera de las dos opciones que nos proporciona la casilla Asistentes, se generará automáticamente un diagrama, que reflejará paso a paso, todo el proceso de grabación de las diferentes acciones realizadas y en el que figurarán dos adaptadores, el adaptador Objeto de Usuario y el adaptador 3270.
  • Guardamos y validamos el diagrama.
  • Y por último, lo llevaremos al cliente TAST para ejecutarlo.