Automatización de pruebas AS400: cómo modernizar sistemas legados sin reemplazarlos
En el mundo del aseguramiento de calidad, la automatización de pruebas se ha convertido en un pilar para acelerar despliegues, reducir errores humanos…

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.
Si quieres llevar la IA a un proceso real de tu empresa, empieza por Soluciones de IA y ADEVA.
¿Quieres ver esto sobre tu proyecto?
Agenda un diagnóstico y te mostramos por dónde empezar.