Universal Open-Source Project · Apache 2.0 · Robot Framework & RobotMCP

rf-test-agents · Universal test agents for Robot Framework

The full plan → generate → heal → verify → istqb cycle driven live on real applications via the standard rf-mcp (RobotMCP) server. Technology-agnostic, enforced by mechanical guards and closed feedback loops.

154 Validated Unit Tests Mechanical guards & contracts
5 Specialized Agents Strict boundaries · Agent Contract v1
100% Live Execution Verified No step written without live proof
0 € Engine License Cost 100% Open Source Apache 2.0
Independence & Rigor

The missing bridge between LLMs and real test execution

Generalist coding assistants generate brittle test scripts that fail on their very first run. rf-test-agents brings the power of autonomous test agents to the Robot Framework ecosystem, leveraging standard rf-mcp to interact with real systems step by step.

rf-mcp Hub

Universal & Multi-Channel

Works with any library loaded by rf-mcp: Browser / Playwright or Selenium for Web, RequestsLibrary for HTTP/REST APIs, AppiumLibrary for mobile, and DatabaseLibrary.

Playwright / Browser Selenium Requests (API) Appium (Mobile) Database
CI/CD Integrity

Mechanical Safeguards

The spec in specs/ is the single source of truth. Changes are sealed via SHA256 hashes (check_spec_sync.py). Raw locators and arbitrary Sleep calls are mechanically rejected (check_conventions.py).

specs/ Source of truth SHA256 Hash Seal Zero raw selector Sleep Banned
Multi-Host

Multi-Host: Claude & Copilot

Turnkey support for Claude Code via slash commands with PreToolUse permission hooks, and GitHub Copilot in VS Code via auto-generated and synchronized chat modes.

Claude Code (/slash) PreToolUse Hook Copilot Chat Modes Sync .vscode/
Vector Architecture

The closed plan → generate → heal → verify → istqb cycle

A tight feedback loop where each role holds strict boundaries, ensuring specs stay honest and automated suites remain dependable measurement instruments.

Live Application Under Test Web (Playwright/Browser) · HTTP APIs (Requests) · Mobile · Desktop rf-mcp Gateway (RobotMCP) perceive (ARIA snapshots) → act (execute_step) → perceive /rf-plan rf-planner Live exploration via rf-mcp Writes specs/ (source of truth) /rf-generate rf-generator Live verification before commit Suites .robot + page objects /rf-heal rf-healer Bounded surgical self-healing Patches resources/ without weakening Feedback: Workflow changed → STALE marker → Re-exploration by rf-planner /rf-verify rf-verifier (Independent Audit) Read-only review: initial invariant, diffs, no weakened assertions. Zero edits, zero shell, zero live replay: total impartiality. /rf-istqb rf-istqb (ISO 29119-3 Documentation) Offline test design: transforms specs/ into standardized ISTQB test plans. Normalized framework-neutral replay YAML blocks, human & AI readable.
Agent Contract v1

Five specialized agents with strict boundaries

Each agent operates within an explicit, bounded mandate. Roles never mix: the agent that generates is not the one that verifies, and the healer is forbidden from lowering standards.

Read-Only /rf-verify

rf-verifier

Independent and impartial review of test modifications. It inspects the original business invariant, code diffs, and execution evidence. Equipped with zero editing, shell, or delegation tools, it cannot be biased.

Live Exploration /rf-plan

rf-planner

Explores live applications via rf-mcp (ARIA accessibility tree snapshots and real API responses). Formalizes the user journey into specs/ in plain business language, where every recorded fact was directly observed.

Live Generation /rf-generate

rf-generator

Translates a business spec into an executable Robot Framework suite. Core founding rule: no step enters the .robot file without first passing a live execution check on the application. Generates clean page objects under resources/.

Self-Healing /rf-heal

rf-healer

Repairs failing test suites by patching the automation layer (resources/page_objects/). Strictly prohibited from altering assertions or test bodies. Bounded procedural budgets (2 candidates, 20 calls, 900s) and 5 structured verdicts.

Offline Design /rf-istqb

rf-istqb

Offline documentary test designer (no active rf-mcp session). Transforms specs and recordings into ISO 29119-3 / ISTQB standardized test plans with framework-neutral YAML replay blocks, ready for humans and AI agents alike.

Agent Contract v1 Ethics (2026-09-06)

Zero skipped tests, zero weakened assertions to force green, zero opportunistic baseline amnesty. If the functional flow has genuinely changed, the Healer reports an application defect or escalates to human review.

Continuous Integrity

Mechanical safeguards, not verbal promises

Trust in AI test agents is not built on assumed goodwill, but on automated guard scripts and strict synchronization barriers.

SHA256 Guard

SHA256 Provenance (check_spec_sync.py)

Every generated suite seals the cryptographic hash of its source spec. If a specs/ file is modified without regenerating the test suite, CI and commit hooks fail immediately.

SHA256 Fingerprint CI/CD Block Pre-commit Hooks Anti-Desynchronization
Conventions

Conventions Guard (check_conventions.py)

Mechanically rejects any raw selectors (CSS, XPath, ID) inside test bodies and strictly bans arbitrary Sleep calls. Only explicit state synchronizations are allowed.

Reject raw selectors Sleep Banned State synchronization Strict Page Objects
Drift Log

Drift Memory (heal-journal.md)

Every repair session conducted by rf-healer appends an incident report: diagnosed root cause, before/after diff, and passing replay proof. The planner reviews this journal before subsequent explorations.

Incident reports Before/after diffs Green replay proof Queried by planner
Immediate Onboarding

Getting started with Claude Code & VS Code

Install the open-source core in seconds and pilot your first automated test journeys with your preferred AI host.

# Clone open-source repository
git clone https://github.com/CyrilM29/rf-test-agents.git
cd rf-test-agents

# Create virtual environment and install requirements
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
pip install -r requirements.txt

# Initialize Playwright for Browser library (optional)
rfbrowser init
# Open repository in Claude Code
claude

# 1. Plan directly on the live application
/rf-plan login and cart journey on https://myapp.example.com

# 2. Generate Robot Framework suite verified step-by-step
/rf-generate specs/login-cart.md

# 3. Automatically heal broken selectors upon UI drift
/rf-heal tests/robot/ui/web/login_cart.robot

# 4. Perform read-only audit of invariant and execution proof
/rf-verify
# With GitHub Copilot in VS Code:
# 1. Open the rf-test-agents folder in VS Code
# 2. .vscode/mcp.json automatically declares the rf-mcp server
# 3. Open Copilot chat and select the agent mode:
#    - @rf-planner: explore application and draft spec
#    - @rf-generator: generate suite with live step verification
#    - @rf-healer: repair locators without weakening test
#    - @rf-istqb: generate ISO 29119-3 test documentation
Architecture Principles & Decisions

Understanding the rf-test-agents Architecture

The fundamental engineering choices guaranteeing technological neutrality, zero hallucinated locators, and absolute test suite integrity.

ADR 01 · Protocol & Decoupling rf-mcp Standard

How is rf-test-agents universal and technology-independent?

Unlike single-tool extensions locked to a single framework, rf-test-agents builds on generic RobotMCP (rf-mcp) primitives. It drives web apps (Browser/Playwright, SeleniumLibrary), HTTP APIs (RequestsLibrary), mobile applications (AppiumLibrary), and databases without requiring any vendor-locked plugins.

  • Standardized primitives: ARIA accessibility tree, native actions, and unified execute_step.
  • Total independence: native interoperability with the entire official Robot Framework ecosystem.
ADR 02 · Determinism & Live Step Live Golden Rule

Why does rf-generator mandate live execution of every step before generation?

Language models frequently hallucinate non-existent selectors or fragile timing heuristics. By requiring every keyword to be executed and verified against the live system via execute_step before entering the .robot file, rf-generator guarantees test suites that pass immediately upon creation.

  • Proven active session: zero lines written without prior demonstration on the target application.
  • Zero phantom tests: permanent elimination of brittle tests that fail on their initial CI run.
ADR 03 · Integrity & Safe Healing Agent Contract v1

How does rf-healer repair tests without masking genuine software bugs?

rf-healer strictly confines its changes to the automation layer (resources/page_objects/). It is prohibited from modifying test bodies, dropping steps, or altering expected assertions. When the business workflow has genuinely changed or an application defect blocks the test, it emits application_defect or needs_human and alerts the team.

  • Sanctuarized boundary: surgical locator adjustment without ever diluting expected assertions.
  • Honest feedback loop: immediate handoff to human testers whenever business logic has diverged.
ADR 04 · Ecosystem & Continuity AI Cabra Suite

What is the relationship between rf-test-agents, SAPFX, and CabrIA?

rf-test-agents is AI Cabra's open-source universal core and methodological reference. SAPFX applies this foundation to SAP systems with native SAP GUI Win32 and Fiori UI5 perception. CabrIA provides the sovereign 35B MoE model and the qa-brain FastMCP RAG memory to power these agents autonomously on-premise.

  • rf-test-agents: open universal standard and deterministic multi-agent engine (Apache 2.0).
  • SAPFX & CabrIA: mission-critical ERP testing and 100% sovereign enterprise intelligence.
Audit & AI Agent Integration

Accelerate your Quality Engineering with autonomous agents

Looking to deploy rf-test-agents across your critical applications or integrate a multi-agent orchestrator into your CI/CD pipelines? Speak directly with our engineering team.

  • Technical dialogue, no sales pressure
  • Open-source code under Apache 2.0 license
  • 100% On-Premise Sovereign Deployment in France
Official GitHub Repository

or directly via email: