v0.8.5 en PyPI · Código abierto Apache 2.0 · Robot Framework 7.4+ · Python 3.10+

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.

> pip install robotframework-sapfx
462
Escenarios ejecutados en vivo
En 4 sistemas SAP reales, del 12/07 al 13/10/2026
442
Keywords documentadas
195 SAP GUI · 98 web · 149 API
3959
Pruebas unitarias
Reejecutadas sin SAP en integración continua
95%
Cobertura de código
Medida, umbral mínimo del 85 % impuesto en CI
El diagnóstico · Fecha límite de 2027

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.

Casos de uso

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.

Regresión

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.

Get System IdentityDos releases
Relevo de CBTA

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.

Guía de migraciónGrabadores
De extremo a extremo

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.

Business PartnerJobs y spoolIDoc
Control cruzado

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.

Pantalla + APILaunchpad + RFC
Extracción

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.

Table Extract Should Be Complete5 formatos
Seguridad

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.

Read Profile ParametersSolo lectura
Arquitectura

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.

SapEccLibrary · 195 keywords

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.

Read Full GridFill Field By LabelGet Screen Map
SapFioriLibrary · 98 keywords

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.

Wait For Ui5 IdleOpen Fiori AppRead Webgui Grid
SapApiLibrary · 149 keywords

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.

Get Odata CountCall BapiWait For Idoc Status
La fuerza de la hibridación

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.

tests/robot/cross/cycle_vie_produit_epm_trois_canaux.robot
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}
resources/page_objects/sepmra_prod_man.resource
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}
SAP GUI + OData: 205 = 205 Launchpad + RFC: 19 = 19 SAP GUI + RFC: rol de Business Partner SAP GUI + RFC: job SM36 y spool RFC + SAP GUI: IDoc 03 y luego 53

Las nueve pruebas híbridas, con sus capturas y su código: SAPFX en imágenes.

Análisis de impacto · Persona en el bucle

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

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

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

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

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.

Tiempo

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.

Calidad

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.

Trazabilidad

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.

Solo lectura por RFC Validado 10/10 en las releases 754 y 758 Informe Markdown y código de retorno Decisión ligada a la huella del impacto

Una primera versión, dicha como tal

El análisis propone, una persona decide: ninguna lista de suites prueba la ausencia de impacto, y el informe lo recuerda. Un nivel de uso, referencias estáticas. Validado el 9 de octubre de 2026 en dos sistemas SAP de desarrollo (S/4HANA 1909 y ABAP Platform 2023), se publica en la versión 0.8.5 de las bibliotecas, en PyPI desde el 13 de octubre de 2026.

Versión 0.8.5 · Publicada el 13 de octubre de 2026

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.

Gobernanza

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.

Persona en el bucle

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.

Entrega

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.

Seguridad

¿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.

Autorizaciones

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.

Supervisión

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.

Fecha y hora leídas en el formato del usuario Un fallo esperado ya no deja captura Iconos de columna leídos en las listas ABAP Naturaleza de un servicio OData Modo Espacios y Páginas del launchpad Fallos de autorización leídos en SU53 Interfaces del sistema inventariadas por RFC Job de fondo planificado por XBP 62 keywords más (442 en total) 3959 pruebas unitarias

Dicho como tal

Probadas del 7 al 13 de octubre de 2026 en dos sistemas SAP de desarrollo, publicadas en la versión 0.8.5 de las bibliotecas. Cifras del manifiesto de pruebas de la 0.8.5: 3959 pruebas unitarias, 95 % de cobertura, 442 keywords, cada una con un ejemplo de uso, y 462 escenarios ejecutados en vivo en los cuatro sistemas SAP. La herramienta de aprobación por el protocolo MCP pertenece a la capa del taller, no al paquete de PyPI; la política de sesión es una salvaguarda operativa, no un control de seguridad.

Herramientas del taller · Opcionales

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.

Grabadores

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.

SAP GUIExtensión de Chrome5 exportaciones
Prompt Eval

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.

8 criteriosSonda RFCNuevo
Agentes IA

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.

5 agentesContrato de misiónSkill sapfx
Puente MCP

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.

sapfx_statesapfx_screenshotsapfx_approve_write
Mantenimiento

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.

CentinelaInforme de deriva
Cartografía

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.

Solo lecturaLáminas A3Nuevo
Capa de negocio

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.

Page objects12 suites de ejemplo
Pack Windows

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.

install.cmdSHA-256

Incluido u opcional

Incluidas y gratuitas: las tres bibliotecas, sus 442 keywords y su documentación, en PyPI. Opcionales, bajo presupuesto: las herramientas del taller, entregadas en forma de un pack de despliegue para Windows, con su instalación, la formación y la adaptación a sus pantallas según el alcance del presupuesto. No se anuncia ninguna ganancia en cifras: lo que se mide son las campañas ejecutadas en nuestros sistemas de desarrollo.

Agentes de IA · MCP

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).

01 · Exploración specs/

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.

02 · Generación tests/

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.

03 · Reparación resources/

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.

04 · Verificación solo lectura

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.

05 · ISTQB specs/istqb/

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.

Ninguna reparación silenciosa

En las bibliotecas, un localizador se repara con una advertencia en el registro de Robot Framework y, si se activa, con una línea en un registro de telemetría (SAPFX_HEALING_LOG). El agente sap-healer, por su parte, solo modifica la capa resources y consigna cada diagnóstico. Las aserciones de las pruebas nunca se tocan.

Spec-Test-Driven Development (STDD): la especificación en lenguaje humano guía la prueba, y la prueba guía las bibliotecas

La especificación es una visión de conjunto en lenguaje humano, estructurada o no (objetivo de negocio, historia de usuario, escenario BDD, archivo de prueba existente); sap-planner la confronta con su sistema SAP y redacta su versión observada en specs/; sap-generator deriva de ella la suite, con cada paso ejecutado en vivo y sellado con la huella SHA256 del plan; y lo que una prueba exige sin que las bibliotecas sepan hacerlo se convierte en una keyword de SAPFX, nunca en un rodeo dentro de una suite. La misma lógica que TDD, un ladrillo antes: la spec, verde por defecto en teoría, se confronta con el sistema real antes de cualquier prueba. Método definido en rf-test-agents y compartido con ODOOFX; definición en el glosario. Para verlo en acción con un caso SAP real: el vídeo STDD (8 min 34).

Elegir con conocimiento de causa

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.
Acompañamiento · 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 →
Proyecto piloto · Bajo presupuesto

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.

Alcance definido conjuntamente

Uno o dos recorridos, una duración y unos objetivos fijados antes de empezar.

Su sistema, sus reglas

En un sistema de desarrollo o de pruebas de aceptación, con sus accesos y sus restricciones de seguridad.

Entregables de su propiedad

Las suites, las keywords de negocio y la documentación le pertenecen.

Solicitar el encuadre de un piloto
Más allá de las pruebas

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.

Demostrado hoy en sistemas SAP de desarrollo. En un sistema de cliente, cada destino se trata caso por caso, con la reversibilidad por delante. SAPFX no se presenta como sustituto de las herramientas de migración de SAP: aporta la carga mediante scripts y su control cruzado.

Preguntas frecuentes

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.

Pruebas y alcance

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.

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 release
En conclusión · 11 min 11

La 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).

Auditoría y encuadre

¿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
Tutorial paso a paso

o directamente por correo electrónico: