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

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

Le cycle complet plan → generate → heal → verify → istqb piloté en direct sur l'application vivante via le serveur standard rf-mcp (RobotMCP). Indépendant de la technologie, garanti par des garde-fous mécaniques et des boucles de rétroaction fermées.

154 Tests Unitaires Validés Garde-fous & contrats d'agents
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 chargeablé 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 automatiquement générés et synchronisés.

Claude Code (/slash) Hook PreToolUse Copilot Chat Modes Sync .vscode/
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.

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.
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 et les hooks de commits bloquent immédiatement.

Empreinte SHA256 Blocage CI/CD Pre-commit Hooks 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.

  • 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.
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 en France
Dépôt GitHub Officiel

ou directement par courriel :