Projet Open Source Universel · Apache 2.0 · Robot Framework & RobotMCP

rf-test-agents · Agents de test IA universels pour Robot Framework

rf-test-agents est un ensemble open source (Apache 2.0, version 1.0.0) de cinq agents IA pour Robot Framework qui planifient, génèrent, réparent, vérifient et documentent les tests, en confrontant le plan et chaque étape générée à l'application vivante via le serveur MCP rf-mcp (RobotMCP). Le cycle complet plan → generate → heal → verify → istqb fonctionne sous Claude Code et GitHub Copilot ; il est indépendant de la technologie et tenu par des garde-fous mécaniques et des boucles de rétroaction fermées.

310 Tests Unitaires Réussis En CI le 5 octobre 2026 · gardes & contrats
5 Agents Spécialisés Frontières étanches · Agent Contract v1
100% Exécution Live Préalable Aucune étape écrite sans preuve live
0 € Coût de Licence Moteur 100 % Open Source Apache 2.0
Indépendance & Rigueur

Le pont manquant entre les LLMs et l'exécution réelle

Les assistants de code généralistes génèrent des tests statiques qui échouent dès leur premier run. rf-test-agents transpose la puissance des agents de test autonomes à l'écosystème Robot Framework en s'appuyant sur le serveur standard rf-mcp pour piloter l'application vivante pas-à-pas.

rf-mcp Hub

Universel & Multi-Canal

Fonctionne avec toute bibliothèque chargeable par rf-mcp : Browser / Playwright ou Selenium pour le Web, RequestsLibrary pour les API HTTP/REST, AppiumLibrary pour le mobile et DatabaseLibrary.

Playwright / Browser Selenium Requests (API) Appium (Mobile) Database
Intégrité CI/CD

Garde-fous Mécaniques

Le plan dans specs/ est la source de vérité. Les modifications sont scellées par hash SHA256 (check_spec_sync.py). Les sélecteurs bruts et les Sleep sont mécaniquement rejetés (check_conventions.py).

specs/ Source vérité Hash SHA256 Zéro sélecteur brut Bannissement Sleep
Multi-Hôtes

Multi-Hôtes : Claude & Copilot

Disponible sous Claude Code via des commandes slash avec hook de permissions PreToolUse, et sous GitHub Copilot dans VS Code via des chat modes générés depuis les mêmes définitions d'agents ; la CI vérifie qu'ils restent synchronisés (regen_agent_definitions.py --check).

Claude Code (/slash) Hook PreToolUse Copilot Chat Modes .vscode/mcp.json
Architecture Vectorielle

Le cycle fermé plan → generate → heal → verify → istqb

Une boucle de rétroaction hermétique où chaque rôle dispose de prérogatives strictes pour garantir que le plan reste honnête et que les tests demeurent un instrument de mesure fiable. C'est la mise en œuvre du Spec-Test-Driven Development (STDD) : la spécification, écrite en langage humain et confrontée au système vivant, pilote le test, le test pilote le développement. Pour le voir à l'œuvre sur un cas SAP réel : le film STDD (8 min 34).

Application Vivante Sous Test Web (Playwright/Browser) · API HTTP (Requests) · Mobile · Desktop Passerelle rf-mcp (RobotMCP) percevoir (snapshots ARIA) → agir (execute_step) → percevoir /rf-plan rf-planner Exploration live via rf-mcp Rédige specs/ (source de vérité) /rf-generate rf-generator Exécution live avant écriture Suites .robot + page objects /rf-heal rf-healer Auto-guérison chirurgicale Corrige resources/ sans affaiblir Rétroaction : si flux changé → Statut PÉRIMÉE → Re-exploration par rf-planner /rf-verify rf-verifier (Audit Indépendant) Revue en lecture seule : invariant initial, diffs, absence d'assertion affaiblie. Zéro édition, zéro shell, zéro rejeu live : indépendance totale. /rf-istqb rf-istqb (Documentation ISO 29119-3) Conception de test hors ligne : transforme specs/ en plans normés ISTQB. Blocs de rejeu YAML neutres, lisibles par l'humain et rejouables par toute IA.

Lu à l'aune de TDD. Le STDD garde la logique de TDD et la déplace d'une brique. TDD, c'est rouge, vert, refactor : le test d'abord, il échoue, puis le code le fait passer. En STDD, la première brique est la spec, et une spec est verte par défaut, en théorie : on l'écrit, on la croit, personne ne l'exécute, donc rien ne peut la faire échouer. Le STDD la met à l'épreuve du système réel : rouge là où le système la réfute, verte une fois observée, et seulement ensuite viennent le test et le code.

Agent Contract v1

Cinq agents spécialisés aux frontières étanches

Chaque agent dispose d'un périmètre d'action strictement borné. Les rôles ne se mélangent jamais : celui qui écrit n'est pas celui qui vérifie, et celui qui répare n'a pas le droit d'abaisser le niveau d'exigence.

Lecture Seule /rf-verify

rf-verifier

Revue indépendante et impartiale des modifications de test. Il inspecte l'invariant métier initial, les diffs de code et les preuves d'exécution. Dépourvu d'outils d'écriture, de commandes shell et de délégation, il ne peut être influencé.

Exploration Live /rf-plan

rf-planner

Explore l'application vivante via rf-mcp (snapshots d'arbre d'accessibilité ARIA et réponses API réelles). Il formalise le parcours dans specs/ en langage métier pur, où chaque fait consigné a été constaté en direct, jamais deviné.

Génération Live /rf-generate

rf-generator

Convertit une spec en suite Robot Framework standard. Sa règle fondatrice : aucune étape n'entre dans le fichier .robot sans avoir été exécutée avec succès en direct sur l'application. Il crée les page objects sous resources/.

Auto-Guérison /rf-heal

rf-healer

Répare les suites au rouge en ajustant la couche d'automatisation (resources/page_objects/). Il a l'interdiction formelle de toucher aux assertions ou aux tests. Budgets procéduraux stricts (2 candidats, 20 appels, 900s) et 5 verdicts structurés.

Conception Hors Ligne /rf-istqb

rf-istqb

Concepteur documentaire hors ligne (sans session rf-mcp active). Il traduit les plans et enregistrements en fiches de test normées ISO 29119-3 / ISTQB avec blocs YAML de rejeu neutres, directement exploitables par des humains ou d'autres IA.

Déontologie de l'Agent Contract v1 (2026-09-06)

Zéro saut artificiel de test, zéro affaiblissement d'assertion pour forcer un résultat vert, zéro mise à jour opportuniste de baseline. Si le flux fonctionnel a changé, l'agent Healer déclare un défaut applicatif ou passe la main à l'humain.

Intégrité Continue

Des garde-fous mécaniques, pas des promesses orales

La confiance dans les agents IA ne repose pas sur leur bienveillance présumée, mais sur des scripts de contrôle automatisés et des barrières de synchronisation infranchissables.

Garde SHA256

Provenance SHA256 (check_spec_sync.py)

Chaque suite générée scelle l'empreinte cryptographique de son plan source. Si un fichier specs/ est modifié sans ré-exécution du générateur, la CI échoue à chaque push et le hook d'édition de Claude Code signale la dérive.

Empreinte SHA256 Blocage CI/CD Hook d'édition Claude Code Anti-Désynchronisation
Conventions

Garde des Conventions (check_conventions.py)

Rejette mécaniquement tout sélecteur brut (CSS, XPath, ID) dans le corps des tests et bannit tout Sleep arbitraire. Seules les synchronisations d'état explicites sont admises.

Rejet sélecteurs bruts Bannissement Sleep Attente d'état Page Objects strictes
Journal Dérives

Mémoire des Dérives (heal-journal.md)

Chaque réparation opérée par rf-healer consigne un rapport d'incident : cause identifiée, diff avant/après et preuve de rejeu vert. Le planner consulte ce journal avant toute nouvelle passe d'exploration.

Rapports d'incident Diffs avant/après Preuve rejeu vert Consulte par planner
Mise en Œuvre Immédiate

Prise en main sous Claude Code et VS Code

Installez le cœur open source en quelques secondes et pilotez vos premiers scénarios avec vos agents IA habituels.

# Cloner le dépôt open source
git clone https://github.com/CyrilM29/rf-test-agents.git
cd rf-test-agents

# Créer l'environnement virtuel et installer les dépendances
python -m venv .venv
source .venv/bin/activate  # Sous Windows : .venv\Scripts\activate
pip install -r requirements.txt

# Initialiser Playwright pour le canal Browser (optionnel)
rfbrowser init
# Ouvrir le projet dans Claude Code
claude

# 1. Planifier en direct sur l'application vivante
/rf-plan le parcours de connexion sur https://monapp.example.com

# 2. Générer la suite Robot Framework exécutée pas-à-pas
/rf-generate specs/parcours-connexion.md

# 3. Réparer automatiquement en cas de dérive d'interface
/rf-heal tests/robot/ui/web/parcours_connexion.robot

# 4. Auditer en lecture seule l'invariant et les preuves
/rf-verify
# Avec GitHub Copilot dans VS Code :
# 1. Ouvrir le dossier rf-test-agents dans VS Code
# 2. .vscode/mcp.json déclare automatiquement le serveur rf-mcp
# 3. Ouvrir le chat Copilot et sélectionner le mode d'agent souhaité :
#    - @rf-planner : explorer l'application et rédiger la spec
#    - @rf-generator : générer la suite avec vérification live
#    - @rf-healer : cicatriser les localisateurs sans affaiblir le test
#    - @rf-istqb : générer la documentation de test ISO 29119-3
Fondements & Décisions d'Architecture

Comprendre l'architecture rf-test-agents

Les choix d'ingénierie fondamentaux qui garantissent l'indépendance technologique, l'absence d'hallucinations et l'intégrité absolue de vos tests.

ADR 01 · Protocole & Découplage Standard rf-mcp

En quoi rf-test-agents est-il universel et indépendant de la technologie ?

Contrairement aux extensions propriétaires fermées à un seul outil, rf-test-agents exploite les primitives universelles du serveur RobotMCP (rf-mcp). Il pilote indifféremment des applications web (Browser/Playwright, SeleniumLibrary), des API HTTP (RequestsLibrary), des applications mobiles (AppiumLibrary) ou des bases de données relationnelles sans aucun plugin captif.

  • Primitives standardisées : arbre d'accessibilité ARIA, actions natives et exécution execute_step unifiée.
  • Indépendance totale : interopérabilité directe avec tout l'écosystème officiel Robot Framework.
ADR 02 · Déterminisme & Exécution Règle d'Or Live

Pourquoi rf-generator impose-t-il l'exécution live de chaque étape avant génération ?

Les modèles de langage hallucinent fréquemment des sélecteurs inexistants ou des temporisations arbitraires fragiles. En imposant que chaque mot-clé soit exécuté et validé sur le système vivant via execute_step avant son inscription dans le fichier .robot, rf-generator garantit des suites de tests immédiatement passantes dès leur création.

  • Session active prouvée : aucun code n'est écrit sans démonstration préalable sur l'application cible.
  • Zéro test fantôme : éradication définitive des faux tests qui échouent dès leur premier passage en CI.
ADR 03 · Intégrité & Auto-Guérison Agent Contract v1

Comment rf-healer répare-t-il les tests sans masquer de vrais bugs ?

rf-healer cantonne strictement ses correctifs à la couche d'adaptation (resources/page_objects/). Il lui est formellement interdit de modifier le corps du test, de supprimer des étapes ou d'altérer les assertions attendues. S'il constate que le parcours métier lui-même a changé ou qu'une anomalie fonctionnelle survient, il conclut par application_defect ou needs_human et alerte l'équipe.

  • Périmètre sanctuarisé : ajustement chirurgical des localisateurs sans jamais affaiblir les vérifications.
  • Rétroaction honnête : passage immédiat de main à l'ingénieur QA dès que la règle métier a divergé.
ADR 04 · Écosystème & Continuité AI Cabra Suite

Quelle est l'articulation entre rf-test-agents, SAPFX et CabrIA ?

rf-test-agents est la maison-mère méthodologique open source d'AI Cabra. SAPFX reprend ce socle universel pour lui adjoindre la perception native SAP GUI Win32 et Fiori UI5. CabrIA fournit le modèle d'IA souverain MoE 35B et la base de connaissances RAG qa-brain pour piloter ces agents en totale autonomie, on-premise ou en cloud souverain (France, UE).

  • rf-test-agents : standard universel ouvert et moteur multi-agents déterministe (Apache 2.0).
  • SAPFX & CabrIA : verticalisation ERP critique et intelligence d'entreprise 100 % souveraine.
ADR 05 · Méthode & Chaîne de Valeur STDD

Qu'est-ce que le Spec-Test-Driven Development (STDD) que rf-test-agents met en œuvre ?

rf-test-agents met en œuvre le Spec-Test-Driven Development : la spécification est une vision d'ensemble en langage humain, structurée ou non (objectif métier, user story, scénario BDD, fichier de test existant) ; le planner la confronte au système vivant et en écrit la version observée dans specs/, qui pilote le test ; le test, généré étape par étape en session active et scellé par l'empreinte SHA256 de son plan, pilote le développement de la couche d'automatisation. Une capacité manquante s'ajoute dans resources/ (ou dans la bibliothèque d'une verticale comme SAPFX ou ODOOFX), jamais en contournement dans un test. La version qui fait foi est observée, pas supposée, et gardée mécaniquement.

  • Trois maillons : spec observée, test dérivé de la spec, développement dérivé du test.
  • Une méthode pour toutes les verticales : SAPFX (SAP) et ODOOFX (Odoo) l'appliquent sans la forker.
Audit & Intégration Agents IA

Accélérez votre Quality Engineering avec des agents autonomes

Vous souhaitez déployer rf-test-agents sur vos applications critiques ou intégrer un orchestrateur multi-agents dans vos usines logicielles ? Échangez directement avec notre équipe technique.

  • Un échange technique, pas commercial
  • Code open source sous licence Apache 2.0
  • Déploiement 100 % on-premise ou en cloud souverain (France, UE)
Dépôt GitHub Officiel

ou directement par courriel :