SAPFX · Automatización de pruebas SAP de código abierto para Robot Framework
SAPFX (paquete robotframework-sapfx) es un conjunto de bibliotecas de Robot Framework de código abierto (Apache 2.0) para automatizar las pruebas de SAP en cuatro canales: SAP GUI para Windows (sistemas SAP ECC y SAP S/4HANA®), las aplicaciones SAP Fiori® y SAPUI5 así como SAP GUI for HTML, las API OData v2 y v4, y el RFC/BAPI. Cada canal conserva sus localizadores nativos y las reglas son comunes; una misma prueba puede atravesar dos o tres: preparar por la API, actuar en la pantalla, verificar por un canal independiente. Para los equipos que pierden CBTA con el fin del mantenimiento de SAP Solution Manager 7.2 en 2027, es una vía abierta y sin licencia.
Probar SAP en 2026: una fecha límite y tres dificultades
El mantenimiento estándar de SAP Solution Manager 7.2 termina el 31 de diciembre de 2027, y CBTA con él. Al mismo tiempo, los entornos SAP combinan la pantalla clásica, las aplicaciones SAP Fiori y las API.
El fin de CBTA en 2027
SAP Solution Manager 7.2 sale de su mantenimiento estándar el 31 de diciembre de 2027 (nota SAP 3585220) y SAP orienta a sus clientes hacia SAP Cloud ALM, que gestiona y sigue las pruebas; su ejecución automatizada pasa por herramientas que se conectan a él. Por lo tanto, los escenarios CBTA existentes deben retomarse en otra herramienta.
Pruebas que se rompen con cada actualización de versión
Un identificador de pantalla renumerado, un control SAPUI5 renderizado de otra forma, una etiqueta traducida: una prueba escrita contra la disposición de la pantalla se rompe con el primer support package. SAPFX apunta a los controles por su tipo, su etiqueta o su clave, y sus reparaciones de localizadores siempre quedan registradas, nunca son silenciosas.
Tres tecnologías, a menudo tres herramientas
SAP GUI para Windows, aplicaciones SAP Fiori en el navegador, API OData y RFC: cada una tiene sus herramientas, sus competencias y sus informes. SAPFX las reúne en Robot Framework, con las mismas reglas, un mismo ejecutor y un mismo informe, sin licencia por equipo de ejecución.
Lo que SAPFX automatiza hoy
Seis usos probados en vivo en sistemas SAP de desarrollo (ABAP Platform 1909 y 2023), cada uno vinculado a sus evidencias en la página SAPFX en imágenes.
Pruebas de regresión de SAP antes de una actualización de versión
Una misma campaña se reejecuta en dos releases cambiando solo variables: el precio de un producto leído por tres canales se validó 7/7 en la release 754 y 7/7 en la release 758. Cada campaña empieza demostrando la release y el kernel del sistema de destino. De ECC a S/4HANA: el método.
Retomar escenarios CBTA o eCATT
Los escenarios se reescriben en Robot Framework, en un formato de texto que se versiona y se relee. Una guía de migración desde CBTA (en inglés) acompaña a las bibliotecas; los grabadores producen un primer borrador de un recorrido.
Procesos de negocio de extremo a extremo, en varios canales
Un rol de Business Partner añadido en pantalla y comprobado en la base de datos, un job de fondo planificado por SM36 y su spool leído por RFC, un IDoc de salida juzgado por su estado y su IDoc de entrada encontrado: cada paso se verifica por un canal independiente del que actúa.
Verificar un dato por dos o tres canales
El número de productos contado en SE16 es igual al $count OData (205 = 205), y el contador de un mosaico del launchpad es igual al agregado de una vista CDS leído por RFC (19 = 19). Reejecutados el 5 de octubre de 2026.
Extraer una tabla SAP a CSV, Excel, JSON Lines, SVG o Parquet
Una cuadrícula ALV, una cuadrícula del WebGUI, una tabla SAPUI5 o una tabla leída por RFC devuelven la misma forma, escrita y después releída en cinco formatos. Se rechaza una lectura amputada: en tres de estos canales, nada en las filas delata que falten algunas.
Auditar la configuración de seguridad de un sistema ABAP
Parámetros de perfil juzgados por su código de retorno, cuentas realmente utilizables, servicios web servidos, cobertura del registro de auditoría, deriva confrontada con una referencia: en solo lectura, por RFC.
Tres bibliotecas, cuatro canales, reglas comunes
Las bibliotecas no fusionan las tecnologías: cada una conserva los localizadores de su canal, y comparten reglas (esperar el estado real de SAP, juzgar un mensaje por su identidad, extraer una tabla sin perder una fila, registrar cada reparación). El vocabulario de negocio se construye por encima, en las keywords de Robot Framework del proyecto.
SAP GUI para Windows
Mediante la API SAP GUI Scripting: cuadrículas ALV leídas enteras, table controls, árboles, listas desplegables por clave, localizadores por etiqueta visible, captura anotada para los agentes de IA, aserciones visuales, varias sesiones por alias. Verlo en imágenes.
SAP Fiori, SAPUI5 y SAP GUI for HTML
Sobre la biblioteca Browser (Playwright): controles UI5 designados por tipo y propiedades, reposo real de la página, launchpad por intent y contadores de mosaicos, WebGUI por SID, UI5 Web Components, iframes anidados. Verlo en imágenes.
OData v2/v4 y RFC/BAPI
OData con el protocolo CSRF de SAP, $metadata y sus etiquetas, $batch, fábrica de datos de prueba; RFC opcional mediante pyrfc: tablas, BAPI juzgadas por tipo de mensaje, jobs de fondo y spool, IDoc. Ver los ejemplos.
Una prueba, dos o tres canales
Aquí, el mismo producto se lee por el servicio OData, por la cuadrícula SE16 del WebGUI y por RFC, y los tres precios se comparan entre sí, tras normalizar la notación decimal del usuario leída en el sistema. Extracto real de la suite, validada 7/7 en las releases 754 y 758 y reejecutada 7/7 el 5 de octubre de 2026.
6. Assertion reine : les trois canaux rendent le même prix # … ${prix}= The Three Channels Should Agree On The Price ... ${API_RECORD} ${WEBGUI_RECORD} ${RFC_RECORD} ... ${DECIMAL_NOTATION} ${devise}= The Three Channels Should Agree On The Currency ... ${API_RECORD} ${WEBGUI_RECORD} ${RFC_RECORD}
Read Epm Products By Api # … ${projection}= Set Variable ... ${EPM_PRODUCT_API_ID_FIELD},${EPM_PRODUCT_API_PRICE_FIELD},${EPM_PRODUCT_API_CURRENCY_FIELD} ${chemin}= Set Variable ${EPM_PROD_MAN_SERVICE}/${EPM_PRODUCT_ENTITY_SET} IF '${top}' == '${EMPTY}' ${entites}= Get Odata Entities ${chemin} alias=${alias} ... $filter=${critere} $select=${projection} $orderby=${EPM_PRODUCT_API_ID_FIELD} # … Read Epm Product By Webgui # … [Arguments] ${product} ${url} Open WebGui Data Browser ${url} Display WebGui Table Contents With Filter ${EPM_PRODUCT_TABLE} ... ${EPM_PRODUCT_KEY_COLUMN}=${product} ${extrait}= Extract Displayed WebGui Grid ... key=${EPM_PRODUCT_KEY_COLUMN} ... source=produits EPM (${EPM_PRODUCT_TABLE}) filtrés sur ${product} Table Extract Should Be Complete ${extrait} # … Read Epm Product By Rfc # … [Arguments] ${product} ${alias}=${RFC_ALIAS} ${lignes}= Read Business Records ${EPM_PRODUCT_TABLE} ... ${EPM_PRODUCT_COLUMNS} ... filter=${EPM_PRODUCT_KEY_COLUMN} EQ '${product}' alias=${alias}
Las nueve pruebas híbridas, con sus capturas y su código: SAPFX en imágenes.
Llega un transporte: ¿qué pruebas volver a ejecutar, y por qué?
Volver a ejecutarlo todo inmoviliza toda la campaña; elegir de memoria deja pasar una regresión. El análisis de impacto de SAPFX lee el transporte en el sistema SAP, sigue cada objeto hasta lo que lo utiliza y cruza los nombres con sus suites de Robot Framework según lo que cada prueba ejecuta de verdad, no según lo que un archivo menciona. Propone, con la prueba de cada línea; una persona decide, y su decisión queda registrada.
1. Abrir el transporte
La orden y sus tareas, donde viven los objetos hasta la liberación. Cada línea se lleva a su objeto principal: un método a su clase, un include a su programa, una entrada de tabla a su tabla. Por RFC, en solo lectura: no se instala nada en el lado de SAP.
2. Leer un nivel de uso en el sistema
En las referencias que SAP mantiene al día: programas, transacciones, vistas CDS, clases, módulos de función, elementos del diccionario, servicios OData. Medido en S/4HANA 1909: la tabla TTZCU la leen 89 programas, lanzados por 5 transacciones, entre ellas ST03. Una lectura con tope lo dice, nunca en silencio (T000: 2793 programas).
3. Cruzar con sus suites, por lo que ejecutan
Cada suite la lee el analizador de Robot Framework, sin ejecutar nada: de keyword en keyword a través de sus recursos, sus variables, sus bibliotecas Python y sus archivos de variables. Lleva su alcance: llamada, dinámica (un nombre calculado nunca se toma por «no llamada») o solo nombrada, con las pruebas y el plan afectados.
4. Una persona decide, y queda registrado
Para cada suite: volver a ejecutar o descartar. Descartar exige un motivo, y cada decisión dice quién la tomó. El archivo de decisiones está ligado a la huella del impacto: ante otro transporte, una decisión está caducada, nunca se aplica. Mientras una suite que ejecuta un objeto transportado no se haya descartado, el comando termina con el código 1: una cadena de integración no puede ignorarlo.
5 suites que volver a ejecutar en lugar de 22
En el transporte de referencia de vuelos (113 objetos), una búsqueda de texto encuentra 22 suites; 5 ejecutan de verdad un objeto transportado. Las otras 17 lo nombran sin ejecutarlo: la persona las descarta, con su motivo. Diez pruebas de validación, cada una sobre un transporte real, se ejecutan en 18 segundos.
682 puntos verificados, ninguno omitido
El grafo estático se contrastó con una ejecución real en modo dry run de Robot Framework: 682 puntos, ninguna keyword alcanzada fuera del grafo. Lo que el análisis no ve (más de un nivel, SQL dinámico, transacciones orientadas a objetos, una importación no resuelta), el informe lo dice.
Una decisión, un motivo, un nombre
El informe recoge la decisión humana en una sección «Decisiones humanas», junto a la prueba de cada suite propuesta. Una decisión solo cubre el impacto que vio: eso la hace verificable a posteriori.
Novedades de la 0.8.5: escribir bajo control, juzgar una ejecución, verificar un certificado
Seis capacidades, probadas en los sistemas SAP de desarrollo del laboratorio (S/4HANA 1909 y ABAP Platform 2023), se publican en la versión 0.8.5 de las bibliotecas, en PyPI desde el 13 de octubre de 2026. Cada tarjeta dice lo que está probado y lo que no.
Una política decide antes del gesto de escritura
Tres modos en la pantalla, OData y RFC: «solo lectura» rechaza toda escritura, «exploración» exige una aprobación consumida por un único gesto, «completo» deja pasar y registra. El rechazo llega antes del gesto: no se envía nada a SAP. Una pista de auditoría guarda cada decisión, nunca un valor. Validada 12/12 en las releases 754 y 758, con las mismas 30 decisiones de auditoría. Una salvaguarda operativa, no un control de seguridad: la barrera sigue siendo la autorización SAP del usuario de prueba.
Una persona aprueba una escritura, para un destino
En modo «humano», el agente ya no puede aprobarse a sí mismo. La aprobación viene de una persona, que ve el motivo, el destino, el sistema, el mandante y la pantalla, y que debe escribir la palabra «approuver»: un clic no basta. Solo cubre un destino: un gesto en otro lugar se rechaza. Cualquier otro caso (rechazo, cancelación, puesto sin pantalla) falla cerrado. Según el cliente MCP, la solicitud se muestra por el protocolo o mediante un cuadro de entrada en el puesto. Validada delante del puesto y luego a través del servidor rf-mcp en las dos releases.
Un veredicto GO o NO-GO, calculado sobre la ejecución
A partir del archivo de resultados de Robot Framework: pruebas ejecutadas, fallos, saltos sin motivo (incluido un fallo disfrazado de salto), capturas de error en una prueba verde, localizadores reparados durante la ejecución, planes modificados desde la generación. Tres perfiles (estricto, estándar, aumento progresivo), criterios explícitos, nunca un número mágico. Un criterio ilegible se lista primero como no medido, nunca se cuenta como cero. Código de salida 0, 1 o 2 e informe Markdown. Probado con los resultados reales de las campañas del día; aún sin nota numérica, a la espera del uso de los criterios.
¿El certificado declarado es válido y se sirve realmente?
El certificado de la identidad STRUST, leído por RFC, se compara por su huella SHA-256 con el que el servidor presenta en la red, y los servicios del ICM se leen con su estado. Cinco veredictos de caducidad, solo uno aprueba. Una identidad sin certificado no provoca ningún error en SAP: SAPFX la rechaza en lugar de leerla como válida. Validada 7/7 en ABAP Platform 2023, solo lectura. Los dos contenedores del laboratorio llevan el mismo certificado: solo la release prueba el destino.
Usuarios y roles de prueba, creados y luego eliminados
Por RFC, con una lista blanca de prefijos, una marca obligatoria antes de cualquier gesto sobre un objeto existente, nunca en el mandante 000 ni sobre un rol entregado por SAP. Un rol explícito con su perfil generado y verificado, una contraseña que el propio usuario vuelve productiva y, después, el control de autorización del núcleo para un usuario con nombre. Campaña validada 11/11: en la aplicación de demostración de pedidos de venta, el único rechazo observado es el del inicio de la transacción, no el del guardado, y el hallazgo queda registrado en un informe de anomalía.
Un error, una entrada en el registro de la Gateway
El registro de errores de la Gateway agrupa los errores idénticos: contar sus entradas antes y después de una llamada no prueba nada. La campaña prueba una entrada nueva, ligada a la respuesta recibida por el identificador de transacción, servida en el mandante correcto y vuelta a encontrar en pantalla. Un servicio inventado se rechaza con 403 y no con 404. Validada 7/7 en S/4HANA 1909, sin escribir nada en la configuración.
Grabadores, agentes IA, mantenimiento: las herramientas del taller, opcionales
En torno a las bibliotecas gratuitas, diez herramientas escriben, delegan y mantienen sus pruebas, y cartografían su sistema. No están en el paquete PyPI: se entregan bajo presupuesto, y lo que producen sigue siendo Robot Framework corriente, que se ejecuta sin ellas.
Recorrer un proceso, obtener una prueba
En SAP GUI para Windows como en el navegador (SAP Fiori, WebGUI), el proceso se convierte en una suite reproducible, un par «resource y suite», un plan, casos de prueba ISTQB y un informe HTML. Ver los grabadores.
Puntuar una petición antes de los agentes
Una petición de prueba es un prompt: su forma y su parte de plantilla se verifican sin llamada a un modelo, un modelo, local por defecto, juzga ocho criterios, y una sonda RFC en solo lectura dice si los objetos SAP que nombra existen. Ver Prompt Eval.
Planificar, generar, reparar, revisar
Cinco agentes en Claude Code o GitHub Copilot, acotados por un contrato de misión, un hook de permisos y un hilo de reanudación tras una interrupción; se presentan justo debajo. Ver su marco.
Un asistente IA que ve la pantalla SAP
Tres plugins del servidor rf-mcp y la sobrecapa sapfx-mcp: la pantalla SAP en texto, en diferencial o en imagen anotada, el estado leído en directo, y la aprobación por una persona de una escritura en SAP. Ver el puente MCP.
Ver la deriva antes del fallo
Suite centinela para planificar, informe de deriva a partir de la telemetría de reparación, controles del plan y de las convenciones; las correcciones solo tocan la capa resources. Ver el mantenimiento.
Lo que está conectado a su SAP, y lo que está activo
Un relevamiento por RFC en solo lectura, conciliado mediante una regla con su cartografía de aplicaciones y su registro de interfaces: dos láminas A3, un informe, un veredicto por interfaz y, para cada diferencia, su prueba capturada en SAP GUI. Ver la cartografía.
Keywords de negocio que adaptar
Nueve vocabularios, veinticinco page objects y doce suites de ejemplo, medidos en nuestros sistemas de desarrollo: ejemplos que personalizar, no un vocabulario universal. Ver la capa de negocio.
Un puesto de pruebas listo con un comando
Un ZIP autónomo: versiones fijadas, integridad verificada, configuración MCP escrita, canal RFC opcional mediante el runtime que SAP GUI 8.00 ya instala. Ver el pack.
Cinco agentes de IA especializados en SAP, bajo control humano
Los agentes pilotan SAP a través del servidor MCP rf-mcp y los plugins de SAPFX, en Claude Code o GitHub Copilot. Forman parte del taller SAPFX, opcional, no del paquete PyPI, que contiene las bibliotecas. Para verlos en acción: el vídeo «Cómo pilotan SAP los agentes de IA» (8 min 20).
sap-planner · Explorar y escribir el plan
Confronta la solicitud, escrita en lenguaje humano, con el sistema SAP real, percibiéndolo pantalla por pantalla, y escribe un plan de prueba observado, nunca supuesto, que revisa una persona.
sap-generator · Ejecutar antes de escribir
Ejecuta cada paso en el sistema SAP antes de escribirlo en la suite de Robot Framework, y sella la suite con la huella de su plan: un plan modificado sin regeneración se rechaza.
sap-healer · Reparar la capa resources
Reproduce un fallo, verifica la corrección en el sistema y repara la capa de keywords de negocio, nunca la prueba ni sus aserciones; cada reparación queda consignada en un registro.
sap-verifier · Revisión independiente
Revisa en solo lectura una suite generada o reparada frente a su invariante de negocio y sus evidencias: aserción debilitada, fallo omitido, destino equivocado o resultado no demostrado.
sap-istqb · Diseñar y revisar
Redacta planes y casos de prueba estructurados según el ISTQB y la norma ISO/IEC/IEEE 29119-3, con un bloque de reproducción legible por cualquier herramienta, y revisa el diseño de cada suite generada.
Cuándo conviene SAPFX, y cuándo no
Las familias de herramientas de prueba de SAP no tienen ni el mismo alcance ni el mismo modelo. Esta tabla las sitúa sin nombrar ninguna; también indica nuestros límites.
| Familia de herramientas | SAP GUI | SAP Fiori / SAPUI5 | OData / RFC | Licencia | Forma de las pruebas |
|---|---|---|---|---|---|
| Suites de pruebas propietarias del mercado | Sí | Sí | Según la oferta | Comercial | A menudo sin código, en el formato del proveedor |
| Herramienta de automatización integrada en SAP S/4HANA Cloud Public Edition | No | Sí | Sí | Incluida con la edición en la nube | Escenarios estándar de SAP, sin código |
| Bibliotecas de código abierto existentes para probar SAP GUI | Sí | No | No | Código abierto | Robot Framework |
| Frameworks de prueba de SAPUI5 en JavaScript | No | Sí | No | Código abierto | Código JavaScript o TypeScript |
| SAPFX | Sí | Sí, y SAP GUI for HTML | Sí | Apache 2.0, 0 € | Robot Framework, keywords de negocio |
SAPFX conviene si:
- ✓sus pruebas deben atravesar SAP GUI, SAP Fiori y las API en un mismo escenario;
- ✓quiere pruebas legibles, versionadas y ejecutadas en su propia integración continua;
- ✓su equipo ya utiliza Robot Framework, o acepta formarse en él;
- ✓busca un sucesor de CBTA sin licencia por equipo de ejecución.
SAPFX no conviene si:
- ×exige un editor gráfico de arrastrar y soltar: SAPFX no lo tiene, una prueba se escribe en keywords de Robot Framework legibles sin programar y los grabadores producen un borrador;
- ×sus usuarios trabajan con SAP GUI for Java o en macOS: SapEccLibrary pilota SAP GUI para Windows;
- ×solo utiliza SAP S/4HANA Cloud Public Edition, cuya herramienta de automatización integrada ya cubre los escenarios estándar;
- ×exige el soporte contractual de un proveedor de software: SAPFX es un proyecto de código abierto independiente, acompañado por AI Cabra bajo presupuesto.
Nuestros servicios en torno a SAPFX
Las bibliotecas son libres y gratuitas. AI Cabra acompaña su puesta en marcha, bajo presupuesto, según un alcance definido conjuntamente.
Migración desde CBTA, eCATT o una suite propietaria
Inventario de sus escenarios, priorización por dominio de negocio y reescritura en Robot Framework con SAPFX. Le acompañamos directamente o le orientamos hacia socios integradores especializados.
Definir una migración →Integración en su cadena CI/CD
Ejecución de las suites en sus pipelines (GitLab CI, GitHub Actions, Jenkins), en sus propias máquinas: un equipo Windows para SAP GUI, cualquier equipo para SAP Fiori y las API. Informes de Robot Framework archivados y compartidos.
Definir una integración →Mantenimiento y evoluciones
Seguimiento de sus suites durante las actualizaciones de versión de SAP, desarrollo de keywords para sus transacciones y sus desarrollos específicos, con sus pruebas unitarias y su documentación.
Hablar de sus necesidades →Formación de los equipos
Robot Framework, la arquitectura de las bibliotecas, la escritura de keywords de negocio, los grabadores y los agentes de IA, sobre sus propias transacciones y recorridos.
Organizar una formación →Probar SAPFX en sus propios flujos SAP
Antes de cualquier decisión, un piloto sobre un recorrido representativo de su sistema (por ejemplo, un pedido de extremo a extremo, en pantalla y por la API) muestra lo que SAPFX cubre en su caso y lo que habría que construir.
Uno o dos recorridos, una duración y unos objetivos fijados antes de empezar.
En un sistema de desarrollo o de pruebas de aceptación, con sus accesos y sus restricciones de seguridad.
Las suites, las keywords de negocio y la documentación le pertenecen.
Escribir, eliminar, contrastar: lo que la herramienta sabe hacer además de probar
Una herramienta que sabe escribir un dato, volver a leerlo por un segundo canal, eliminarlo y comprobar que ha desaparecido no sirve solo para verificar un sistema. Se abren tres usos. Se presentan como un rumbo: lo que está demostrado y lo que queda por construir se dicen uno al lado del otro.
Generar conjuntos de datos
Crear conjuntos completos, coherentes e identificables como datos de prueba, para alimentar las campañas.
Estado: rumbo, a muy corto plazo. Ya existe: la fábrica de datos de prueba del canal API y los ciclos de creación por pantalla y por RFC.
Poblar bases de datos para las pruebas de rendimiento
Poblar bases de datos SAP vacías o incompletas antes de lanzar una campaña de carga.
Estado: rumbo. Hasta la fecha no se ha ejecutado ninguna campaña de volumen ni se ha medido ningún tiempo de carga.
Parametrizar y migrar datos
Cargar datos de negocio complejos para configurar un entorno de destino, o asegurar una inyección de datos durante una migración importante, por ejemplo de ECC a S/4HANA, controlando el resultado por un segundo canal.
Estado: rumbo. La escritura, la eliminación y el contraste por dos canales están validados en directo; no se ha ejecutado ninguna migración.
Automatizar las pruebas de SAP con Robot Framework: las preguntas que nos hacen
Las respuestas breves; el detalle está en las preguntas frecuentes y en la documentación de las keywords.
¿Qué es SAPFX?
SAPFX (paquete robotframework-sapfx, versión 0.8.5 en PyPI) es un conjunto de tres bibliotecas de Robot Framework de código abierto con licencia Apache 2.0 para automatizar las pruebas de SAP: SapEccLibrary para SAP GUI para Windows, SapFioriLibrary para las aplicaciones SAP Fiori, SAPUI5 y SAP GUI for HTML, y SapApiLibrary para OData y RFC/BAPI. Una misma prueba puede atravesar varios de estos canales.
¿Qué bibliotecas de Robot Framework permiten automatizar SAP GUI?
SapEccLibrary, la biblioteca SAP GUI de SAPFX, pilota SAP GUI para Windows mediante la API SAP GUI Scripting. Sigue siendo compatible con una biblioteca de código abierto existente, de la que conserva las keywords, y cuenta con 195 keywords: cuadrículas ALV leídas enteras, table controls, árboles, campos designados por su etiqueta, verificación del sistema de destino y capturas anotadas para los agentes de IA.
¿Cómo probar una aplicación SAP Fiori con Robot Framework?
Con SapFioriLibrary, sobre la biblioteca Browser (Playwright): los controles SAPUI5 se designan por su tipo y sus propiedades en lugar de por los identificadores DOM generados, Wait For Ui5 Idle espera el reposo real de la página y las aplicaciones del launchpad se abren por su intent. El Demo Kit público de OpenUI5 basta para probarlo, sin sistema SAP.
¿Existe una alternativa de código abierto a CBTA antes de finales de 2027?
SAPFX es una de ellas: los escenarios de CBTA se reescriben en Robot Framework, en SAP GUI, SAP Fiori y las API, sin licencia. El mantenimiento estándar de SAP Solution Manager 7.2, que incluye CBTA, termina el 31 de diciembre de 2027. Una guía de migración desde CBTA acompaña a las bibliotecas; la reescritura sigue siendo un trabajo, que podemos acompañar bajo presupuesto.
¿SAPFX es gratuito?
Sí. Las bibliotecas tienen licencia Apache 2.0: no hay que pagar ninguna licencia, sea cual sea el número de usuarios o de equipos de ejecución, uso comercial incluido. AI Cabra ofrece bajo presupuesto servicios de acompañamiento, migración y formación.
¿Se puede probar SAPFX sin un sistema SAP?
Sí, en parte. SapFioriLibrary se puede probar en el Demo Kit público de OpenUI5 o en una aplicación SAP Fiori Elements servida en local. Para SAP GUI y las API, la imagen Docker gratuita de ABAP Platform Trial proporciona un sistema SAP completo en un equipo de trabajo.
¿Puede un agente de IA pilotar SAP con SAPFX?
Sí. Los plugins de SAPFX del servidor MCP rf-mcp dan a un agente (Claude Code, GitHub Copilot) la percepción de la pantalla SAP y la ejecución de las keywords paso a paso. Cinco agentes especializados planifican, generan, reparan, verifican y documentan las pruebas, bajo control humano. Prompt Eval puntúa la petición de prueba antes de que los agentes la traten, y una escritura en SAP puede requerir la aprobación de una persona (herramienta MCP sapfx_approve_write). Forman parte del taller SAPFX, no del paquete PyPI.
¿Están incluidas las herramientas de SAPFX en el paquete PyPI?
No. El paquete contiene las tres bibliotecas, gratuitas. Las herramientas del taller (grabadores SAP GUI y web, puntuación de peticiones con Prompt Eval, agentes IA y su contrato, plugins MCP, mantenimiento preventivo, capa de negocio de ejemplo, pack Windows) son opcionales y se entregan bajo presupuesto; lo que producen sigue siendo Robot Framework corriente, que se ejecuta sin ellas.
¿Puede una misma prueba verificar SAP GUI, SAP Fiori y las API?
Sí, es la hibridación: una prueba prepara por la API, actúa en la pantalla y verifica por un canal independiente. Ejemplos reejecutados el 5 de octubre de 2026: 205 productos contados por SE16 y por OData, 19 pedidos mostrados por un mosaico del launchpad y contados por RFC en una vista CDS, y un mismo precio leído por OData, el WebGUI y RFC.
¿Cómo saber qué pruebas SAP volver a ejecutar después de un transporte?
Con el análisis de impacto de SAPFX, publicado en la versión 0.8.5 de las bibliotecas (13 de octubre de 2026) y validado el 9 de octubre de 2026 en S/4HANA 1909 y ABAP Platform 2023. Lee el transporte por RFC en solo lectura, sigue cada objeto en un nivel de uso (programas, transacciones, vistas CDS, clases, módulos de función) y cruza los nombres con las suites de Robot Framework según lo que cada prueba ejecuta de verdad. Después, una persona decide, suite por suite, volver a ejecutar o descartar con un motivo, y la decisión queda registrada, ligada a la huella del impacto. En el transporte de referencia de vuelos, una búsqueda de texto encuentra 22 suites; 5 ejecutan un objeto transportado. Ninguna lista de suites prueba la ausencia de impacto.
¿Qué aporta la versión 0.8.5 de SAPFX?
Publicada en PyPI el 13 de octubre de 2026, aporta capacidades probadas del 7 al 13 de octubre de 2026 en S/4HANA 1909 y ABAP Platform 2023: una política de sesión que decide antes de cualquier gesto de escritura (solo lectura, exploración, completo) con una pista de auditoría; la aprobación de una escritura por una persona, ligada a un destino; un veredicto GO o NO-GO calculado sobre el archivo de resultados de una ejecución; la verificación del certificado SSL declarado en STRUST y del que el ICM sirve realmente; usuarios y roles de prueba creados y eliminados por RFC; la supervisión del registro de errores de la Gateway; el análisis de impacto de un transporte; la naturaleza de un servicio OData probada por sus marcadores, el modo Espacios y Páginas del launchpad y los fallos de autorización leídos en SU53. Cifras de la 0.8.5: 442 keywords, cada una con un ejemplo de uso, 3959 pruebas unitarias, 462 escenarios ejecutados en vivo.
¿SAPFX funciona con SAP GUI for Java?
No. SapEccLibrary pilota SAP GUI para Windows mediante la API SAP GUI Scripting. Un sistema accesible por SAP GUI for HTML se prueba con SapFioriLibrary, en el navegador.
Resultados medidos y alcance de la validación
Probar SAP en SAP GUI, Fiori y las API OData/RFC con Robot Framework. Revisado el 13 de octubre de 2026. Las fuentes publicadas y las condiciones de medición se detallan a continuación.
- 0.8.5 publicada en PyPI Publicada el 13 de octubre de 2026: pip install robotframework-sapfx, Python 3.10 o superior, Robot Framework 7.4 o superior. El paquete contiene las tres bibliotecas; los agentes y la capa MCP no forman parte de él. Paquete robotframework-sapfx 0.8.5 en PyPI
- 442 keywords documentadas 195 en SapEccLibrary (SAP GUI), 98 en SapFioriLibrary (SAP Fiori, SAPUI5, WebGUI), 149 en SapApiLibrary (OData, RFC/BAPI), versión 0.8.5; cada una lleva un ejemplo de uso en código Robot Framework. Documentación de las keywords (Libdoc)
- 462 escenarios en vivo Agregado de campañas validadas del 12 de julio al 13 de octubre de 2026 en cuatro sistemas SAP reales de desarrollo (ABAP Platform 1909 y 2023, un sitio SAP Build Work Zone, el entorno de pruebas de SAP Business Accelerator Hub); no es una única ejecución ni un sistema de cliente. Manifiesto interno de pruebas del 13/10/2026
- 3959 pruebas unitarias Ejecutadas sin SAP en integración continua para la release 0.8.5; verifican las bibliotecas contra dobles locales, no un sistema SAP de cliente. Integración continua interna de la release 0.8.5
- 95 % de cobertura Medición pytest-cov de la release 0.8.5, umbral mínimo del 85 % en CI; no garantiza la ausencia de defectos funcionales. Integración continua interna de la release 0.8.5
Caso publicado: un precio leído por tres canales
Caso de laboratorio EPM: OData, SE16 en WebGUI y RFC, con verificación del destino y después comparación de los valores. 7/7 escenarios en cada una de las releases ABAP 754 y 758 el 21/09/2026, reejecutado 7/7 el 05/10/2026. Límite: solo lectura, sin prueba de beneficio para el cliente.
Leer la prueba publicada en la releaseLa mentalidad de SAPFX: siete principios, una caja de herramientas, lo que cambia
Para terminar, la mentalidad que da forma a SAPFX en un solo vídeo: siete principios respaldados por casos reales, la caja de herramientas y lo que cambia, sin ocultar lo que aún falta (soporte del proveedor, editor gráfico).
La mentalidad de SAPFX · 11 min 11 · en inglés, voz sintética, subtítulos en español. Los personajes de los vídeos anteriores (Stedd, MCP, Terra, qa-brain) dan la bienvenida a tres recién llegados: You (la persona que decide), RF (Robot Framework en la ejecución) y Gate (las guardas mecánicas). Cada principio termina con una tarjeta «Remember» (para recordar).
Los tres vídeos anteriores detallan cada paso: la IA en las pruebas, el método STDD y los agentes que pilotan SAP. Todos los vídeos, con su transcripción, están reunidos en la página de Vídeos explicativos.
¿Listo para dar fiabilidad a sus entregas SAP y anticiparse a la fecha límite de CBTA en 2027?
Hable directamente con nuestros arquitectos para auditar su suite de pruebas existente, preparar el relevo de CBTA o de una suite propietaria, o definir un piloto sobre sus flujos de negocio. Servicios bajo presupuesto.
- Un intercambio técnico, no comercial
- Sus datos permanecen en Francia