Automatización de pruebas AS400: cómo modernizar sistemas legados sin reemplazarlos
- Gabriel Useche

- 6 nov
- 3 Min. de lectura
Automatización de pruebas AS400
En el mundo del aseguramiento de calidad, la automatización de pruebas se ha convertido en un pilar para acelerar despliegues, reducir errores humanos y aumentar la confiabilidad del software. Sin embargo, hay un tipo de sistema que históricamente ha estado fuera del radar de la automatización moderna: el AS400 (hoy IBM i).
A pesar de su edad, este sistema sigue siendo el corazón operativo de bancos, aseguradoras, industrias y cadenas de retail en toda Latinoamérica. Su estabilidad es su mayor virtud… pero también su mayor reto.
¿Cómo automatizar un sistema que no fue diseñado para cambiar?

El problema de los entornos legados
La automatización de pruebas AS400 ha sido, durante años, una tarea compleja. Las terminales utilizadas para acceder al sistema como Microfocus
X-treme o IBM System i Access fueron concebidas únicamente para visualizar y operar pantallas, no para integrarse con herramientas de automatización.
Además:
No existe suficiente documentación.
Las pruebas dependen de configuraciones locales.
La ejecución en entornos virtuales suele fallar.
En pocas palabras: las pruebas no eran portables ni mantenibles.
Y en Devco, eso era inaceptable.
La solución: AS400 Automation Library
Para enfrentar este desafío, la clave era la automatización de pruebas AS400, así que desarrollamos la AS400 Automation Library, una herramienta open source que permite integrar sistemas AS400 dentro de pipelines modernos de automatización de pruebas E2E.
Esta librería amplía las capacidades de Serenity BDD y del patrón Screenplay, respetando su sintaxis fluida y legible, pero llevándola a un entorno completamente distinto: la terminal AS400.
En lugar de depender de una terminal física, la librería emula la conexión mediante Telnet (puerto 23) o TCP (puerto 443), permitiendo ejecutar pruebas directamente desde Serenity.
Principales características
Open Source y gratuita.
Intuitiva y fácil de implementar.
Compatible con Serenity BDD y Screenplay.
Evita dependencias de licencias y máquinas virtuales.
Con una configuración mínima, cualquier prueba desarrollada en Serenity puede ejecutarse en AS400 sin modificaciones adicionales. Devco desarrolló esta solución para extender la automatización de pruebas AS400 a sistemas legados.
Propiedades y capacidades de la automatización de pruebas AS400
Al integrarse con Serenity, la librería permite configurar parámetros específicos para optimizar las pruebas y su evidencia:
Propiedad | Definición | Ejemplo |
Tiempo máximo de espera | Controla el timeout de conexión | connection.timeout = 5000 |
Captura de screenshots | Define en qué momento se toman evidencias | serenity.take.screenshots = FOR_EACH_VALIDATION |
Formato de screenshots | Texto o imagen | serenity.format.screenshots = TEXT |
Interacciones y validaciones
La librería permite interactuar directamente con la aplicación AS400, sin intermediarios. A través de un conjunto de acciones predefinidas, los testers pueden iniciar sesión, ingresar datos o validar información en pantalla, tal como lo harían en una aplicación web.
Acción | Ejemplo |
Iniciar sesión con sistema AS400 | OpenScreen5250.session(Session) |
Ingresar valor en campo editable | Enter.theValue(String).into(Target) |
Oprimir tecla o enviar caracteres | Hit.the(KeysScreen5250) |
Estas interacciones se complementan con validaciones dinámicas, permitiendo extraer texto de la terminal para comparar resultados o generar evidencias.
Acción | Ejemplo |
Obtener texto de la terminal | Text.of() |
Mapeo de elementos: etiquetas y coordenadas
Así como en la automatización web usamos localizadores (CSS o Xpath), en AS400 el mapeo se realiza mediante etiquetas o coordenadas.
1. Por etiqueta
Target.the(String).locatedByTag(String)
El campo editable se ubica a la derecha de la etiqueta, lo que mantiene legibilidad y estructura semántica.
2. Por coordenadas
Target.the(String).locatedByCoordinate(Coordinate)
Ideal para campos dinámicos o sin etiquetas, ya que las terminales usan posiciones de 1 a 80 columnas y 24 filas.
Con esto, la automatización obtiene precisión total en la interacción con la terminal.
Manejo de esperas
Como en toda automatización, la sincronización es clave.La librería ofrece tres tipos de espera para garantizar estabilidad en las pruebas:
Acción | Ejemplo |
Esperar a que el sistema esté disponible | Wait.system() |
Esperar una cadena en pantalla | Wait.string(String) |
Esperar tiempo definido | Wait.time(Long) |
Esto asegura que las pruebas no se rompan por latencias o respuestas lentas del sistema.
Ventajas competitivas
Integrar la librería AS400 Automation Library dentro de tu ecosistema de QA te permite:
Unificar tus estrategias de automatización.
Reutilizar código y patrones existentes.
Reducir costos de licencias y mantenimiento.
Extender la automatización a todo tu core empresarial.
En Devco logramos que los testers usen el mismo conocimiento, framework y reportes sin importar si la prueba corre en web, móvil o AS400.
Descarga el eBook gratuito
Si quieres conocer en detalle cómo implementamos esta solución, sus configuraciones, casos de uso y resultados reales, descarga el eBook completo:👉 El arte de automatizar lo imposible
Modernizar no siempre implica reemplazar. A veces, el verdadero arte está en automatizar lo imposible.








Comentarios