Proyecto de código abierto universal · Apache 2.0 · Robot Framework y RobotMCP

rf-test-agents · Agentes de IA universales para pruebas con Robot Framework

rf-test-agents es un conjunto de código abierto (Apache 2.0, versión 1.0.0) de cinco agentes de IA para Robot Framework que planifican, generan, reparan, verifican y documentan las pruebas, contrastando el plan y cada paso generado con la aplicación viva mediante el servidor MCP rf-mcp (RobotMCP). El ciclo completo plan → generate → heal → verify → istqb funciona en Claude Code y GitHub Copilot; es independiente de la tecnología y se apoya en controles mecánicos y bucles de retroalimentación cerrados.

310 Pruebas unitarias superadas En la CI el 5 de octubre de 2026 · controles y contratos
5 Agentes especializados Fronteras estancas · Agent Contract v1
100% Ejecución en vivo previa Ningún paso escrito sin prueba en vivo
0 € Coste de licencia del motor 100 % código abierto Apache 2.0
Independencia y rigor

El puente que faltaba entre los LLM y la ejecución real

Los asistentes de código generalistas generan pruebas estáticas que fallan desde su primera ejecución. rf-test-agents lleva la potencia de los agentes de prueba autónomos al ecosistema Robot Framework apoyándose en el servidor estándar rf-mcp para pilotar la aplicación viva paso a paso.

rf-mcp Hub

Universal y multicanal

Funciona con cualquier biblioteca que rf-mcp pueda cargar: Browser / Playwright o Selenium para la web, RequestsLibrary para las API HTTP/REST, AppiumLibrary para el móvil y DatabaseLibrary.

Playwright / Browser Selenium Requests (API) Appium (móvil) Database
Integridad CI/CD

Controles mecánicos

El plan en specs/ es la fuente de verdad. Las modificaciones quedan selladas con un hash SHA256 (check_spec_sync.py). Los selectores en bruto y los Sleep se rechazan mecánicamente (check_conventions.py).

specs/ fuente de verdad Hash SHA256 Cero selectores en bruto Sleep prohibido
Multihost

Multihost: Claude y Copilot

Disponible en Claude Code mediante comandos slash con un hook de permisos PreToolUse, y en GitHub Copilot en VS Code mediante chat modes generados a partir de las mismas definiciones de agentes; la CI comprueba que siguen sincronizados (regen_agent_definitions.py --check).

Claude Code (/slash) Hook PreToolUse Copilot Chat Modes .vscode/mcp.json
Arquitectura vectorial

El ciclo cerrado plan → generate → heal → verify → istqb

Un bucle de retroalimentación hermético en el que cada rol dispone de prerrogativas estrictas para garantizar que el plan siga siendo honesto y que las pruebas sigan siendo un instrumento de medición fiable. Es la aplicación del Spec-Test-Driven Development (STDD): la especificación, escrita en lenguaje humano y confrontada con el sistema vivo, guía la prueba, y la prueba guía el desarrollo. Para verlo en acción con un caso SAP real: el vídeo STDD (8 min 34).

Aplicación viva bajo prueba Web (Playwright) · API HTTP (Requests) · Móvil · Escritorio Pasarela rf-mcp (RobotMCP) percibir (snapshots ARIA) → actuar (execute_step) → percibir /rf-plan rf-planner Exploración en vivo con rf-mcp Redacta specs/ (fuente de verdad) /rf-generate rf-generator Ejecución en vivo antes de escribir Suites .robot + page objects /rf-heal rf-healer Autorreparación quirúrgica Corrige resources/ sin debilitar Retorno: si el flujo cambió → estado OBSOLETA → rf-planner vuelve a explorar /rf-verify rf-verifier (auditor neutral) Revisión de solo lectura: invariante inicial, diffs, aserciones intactas. Sin edición, sin shell, sin ejecución en vivo: independencia total. /rf-istqb rf-istqb (documentación ISO 29119-3) Diseño de pruebas sin conexión: convierte specs/ en planes ISTQB. Bloques YAML neutros, legibles por humanos y reproducibles por cualquier IA.

Frente a TDD. STDD conserva la lógica de TDD y la adelanta un ladrillo. TDD es rojo, verde, refactor: primero el test, que falla, y luego el código que lo hace pasar. En STDD el primer ladrillo es la spec, y una spec es verde por defecto, en teoría: se escribe, se cree y nadie la ejecuta, así que nada puede hacerla fallar. STDD la somete a la prueba del sistema real: roja donde el sistema la refuta, verde una vez observada, y solo entonces llegan el test y el código.

Agent Contract v1

Cinco agentes especializados con fronteras estancas

Cada agente dispone de un perímetro de acción estrictamente delimitado. Los roles nunca se mezclan: quien escribe no es quien verifica, y quien repara no tiene derecho a rebajar el nivel de exigencia.

Solo lectura /rf-verify

rf-verifier

Revisión independiente e imparcial de las modificaciones de prueba. Inspecciona el invariante de negocio inicial, los diffs de código y las pruebas de ejecución. Sin herramientas de escritura, sin comandos de shell y sin delegación, no puede ser influido.

Exploración en vivo /rf-plan

rf-planner

Explora la aplicación viva mediante rf-mcp (snapshots del árbol de accesibilidad ARIA y respuestas reales de API). Formaliza el recorrido en specs/ en puro lenguaje de negocio, donde cada hecho consignado se ha constatado en vivo, nunca se ha adivinado.

Generación en vivo /rf-generate

rf-generator

Convierte una especificación en una suite estándar de Robot Framework. Su regla fundacional: ningún paso entra en el archivo .robot sin haberse ejecutado con éxito en vivo sobre la aplicación. Crea los page objects en resources/.

Autorreparación /rf-heal

rf-healer

Repara las suites en rojo ajustando la capa de automatización (resources/page_objects/). Tiene formalmente prohibido tocar las aserciones o las pruebas. Presupuestos de procedimiento estrictos (2 candidatos, 20 llamadas, 900 s) y 5 veredictos estructurados.

Diseño sin conexión /rf-istqb

rf-istqb

Diseñador documental sin conexión (sin sesión rf-mcp activa). Traduce los planes y registros en fichas de prueba normalizadas ISO 29119-3 / ISTQB con bloques YAML de reproducción neutros, directamente utilizables por personas o por otras IA.

Deontología del Agent Contract v1 (2026-09-06)

Ninguna prueba omitida artificialmente, ninguna aserción debilitada para forzar un resultado verde, ninguna actualización oportunista de la línea de base. Si el flujo funcional ha cambiado, el agente Healer declara un defecto de la aplicación o cede el control a una persona.

Integridad continua

Controles mecánicos, no promesas verbales

La confianza en los agentes de IA no se basa en su supuesta buena voluntad, sino en scripts de control automatizados y en barreras de sincronización infranqueables.

Control SHA256

Procedencia SHA256 (check_spec_sync.py)

Cada suite generada sella la huella criptográfica de su plan de origen. Si se modifica un archivo de specs/ sin volver a ejecutar el generador, la CI falla en cada push y el hook de edición de Claude Code señala la desviación.

Huella SHA256 Bloqueo CI/CD Hook de edición de Claude Code Antidesincronización
Convenciones

Control de convenciones (check_conventions.py)

Rechaza mecánicamente cualquier selector en bruto (CSS, XPath, ID) en el cuerpo de las pruebas y prohíbe todo Sleep arbitrario. Solo se admiten las sincronizaciones de estado explícitas.

Rechazo de selectores en bruto Sleep prohibido Espera de estado Page Objects estrictos
Diario de derivas

Memoria de deriva (heal-journal.md)

Cada reparación realizada por rf-healer registra un informe de incidente: causa identificada, diff antes/después y prueba de reproducción en verde. El planner consulta este diario antes de cualquier nueva pasada de exploración.

Informes de incidente Diffs antes/después Prueba de reproducción en verde Consultado por el planner
Puesta en marcha inmediata

Primeros pasos con Claude Code y VS Code

Instale el núcleo de código abierto en unos segundos y pilote sus primeros escenarios con sus agentes de IA habituales.

# Clonar el repositorio de código abierto
git clone https://github.com/CyrilM29/rf-test-agents.git
cd rf-test-agents

# Crear el entorno virtual e instalar las dependencias
python -m venv .venv
source .venv/bin/activate  # En Windows: .venv\Scripts\activate
pip install -r requirements.txt

# Inicializar Playwright para el canal Browser (opcional)
rfbrowser init
# Abrir el proyecto en Claude Code
claude

# 1. Planificar en vivo sobre la aplicación viva
/rf-plan el recorrido de inicio de sesión en https://miapp.example.com

# 2. Generar la suite de Robot Framework ejecutada paso a paso
/rf-generate specs/recorrido-inicio-sesion.md

# 3. Reparar automáticamente en caso de deriva de la interfaz
/rf-heal tests/robot/ui/web/recorrido_inicio_sesion.robot

# 4. Auditar en solo lectura el invariante y las pruebas
/rf-verify
# Con GitHub Copilot en VS Code:
# 1. Abrir la carpeta rf-test-agents en VS Code
# 2. .vscode/mcp.json declara automáticamente el servidor rf-mcp
# 3. Abrir el chat de Copilot y seleccionar el modo de agente deseado:
#    - @rf-planner: explorar la aplicación y redactar la especificación
#    - @rf-generator: generar la suite con verificación en vivo
#    - @rf-healer: reparar los localizadores sin debilitar la prueba
#    - @rf-istqb: generar la documentación de prueba ISO 29119-3
Fundamentos y decisiones de arquitectura

Comprender la arquitectura de rf-test-agents

Las decisiones de ingeniería fundamentales que garantizan la independencia tecnológica, la ausencia de alucinaciones y la integridad absoluta de sus pruebas.

ADR 01 · Protocolo y desacoplamiento Estándar rf-mcp

¿Por qué rf-test-agents es universal e independiente de la tecnología?

A diferencia de las extensiones propietarias cerradas a una sola herramienta, rf-test-agents aprovecha las primitivas universales del servidor RobotMCP (rf-mcp). Pilota indistintamente aplicaciones web (Browser/Playwright, SeleniumLibrary), API HTTP (RequestsLibrary), aplicaciones móviles (AppiumLibrary) o bases de datos relacionales, sin ningún plugin cautivo.

  • Primitivas estandarizadas: árbol de accesibilidad ARIA, acciones nativas y ejecución execute_step unificada.
  • Independencia total: interoperabilidad directa con todo el ecosistema oficial de Robot Framework.
ADR 02 · Determinismo y ejecución Regla de oro en vivo

¿Por qué rf-generator exige ejecutar en vivo cada paso antes de la generación?

Los modelos de lenguaje alucinan con frecuencia selectores inexistentes o esperas arbitrarias y frágiles. Al exigir que cada palabra clave se ejecute y se valide en el sistema vivo mediante execute_step antes de inscribirla en el archivo .robot, rf-generator garantiza suites de pruebas que pasan desde el momento de su creación.

  • Sesión activa demostrada: no se escribe ningún código sin una demostración previa sobre la aplicación de destino.
  • Cero pruebas fantasma: erradicación definitiva de las pruebas falsas que fallan en su primera ejecución en CI.
ADR 03 · Integridad y autorreparación Agent Contract v1

¿Cómo repara rf-healer las pruebas sin ocultar errores reales?

rf-healer limita estrictamente sus correcciones a la capa de adaptación (resources/page_objects/). Tiene formalmente prohibido modificar el cuerpo de la prueba, suprimir pasos o alterar las aserciones esperadas. Si constata que el propio recorrido de negocio ha cambiado o que surge una anomalía funcional, concluye con application_defect o needs_human y alerta al equipo.

  • Perímetro protegido: ajuste quirúrgico de los localizadores sin debilitar nunca las verificaciones.
  • Retroalimentación honesta: traspaso inmediato al ingeniero de QA en cuanto la regla de negocio ha divergido.
ADR 04 · Ecosistema y continuidad AI Cabra Suite

¿Cómo se articulan rf-test-agents, SAPFX y CabrIA?

rf-test-agents es la matriz metodológica de código abierto de AI Cabra. SAPFX retoma esta base universal para añadirle la percepción nativa de SAP GUI Win32 y Fiori UI5. CabrIA aporta el modelo de IA soberano MoE 35B y la base de conocimiento RAG qa-brain para pilotar estos agentes con total autonomía, on-premise o en una nube soberana (Francia, UE).

  • rf-test-agents: estándar universal abierto y motor multiagente determinista (Apache 2.0).
  • SAPFX y CabrIA: verticalización de ERP críticos e inteligencia empresarial 100 % soberana.
ADR 05 · Método y cadena de valor STDD

¿Qué es el Spec-Test-Driven Development (STDD) que aplica rf-test-agents?

rf-test-agents aplica el Spec-Test-Driven Development: 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); el planner la confronta con el sistema vivo y redacta su versión observada en specs/, que guía la prueba; la prueba, generada paso a paso en sesión activa y sellada con la huella SHA256 de su plan, guía el desarrollo de la capa de automatización. Una capacidad que falta se añade en resources/ (o en la biblioteca de una vertical como SAPFX u ODOOFX), nunca como un rodeo dentro de una prueba. La versión de referencia se observa, no se supone, y está protegida mecánicamente.

  • Tres eslabones: especificación observada, prueba derivada de la especificación, desarrollo derivado de la prueba.
  • Un método para todas las verticales: SAPFX (SAP) y ODOOFX (Odoo) lo aplican sin bifurcarlo.
Auditoría e integración de agentes de IA

Acelere su Quality Engineering con agentes autónomos

¿Desea desplegar rf-test-agents en sus aplicaciones críticas o integrar un orquestador multiagente en sus fábricas de software? Hable directamente con nuestro equipo técnico.

  • Un intercambio técnico, no comercial
  • Código abierto con licencia Apache 2.0
  • Despliegue 100 % on-premise o en una nube soberana (Francia, UE)
Repositorio GitHub oficial

o directamente por correo electrónico: