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

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

rf-test-agents is an open-source set (Apache 2.0, version 1.0.0) of five AI test agents for Robot Framework that plan, generate, heal, verify and document tests, checking the plan and every generated step against the live application through the rf-mcp MCP server (RobotMCP). The full plan → generate → heal → verify → istqb cycle runs in Claude Code and GitHub Copilot; it is technology-agnostic, enforced by mechanical guards and closed feedback loops.

310 Passing Unit Tests In CI on October 5, 2026 · 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 chat modes generated from the same agent definitions; CI checks they stay in sync (regen_agent_definitions.py --check).

Claude Code (/slash) PreToolUse Hook Copilot Chat Modes .vscode/mcp.json
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. This is Spec-Test-Driven Development (STDD) in practice: the specification, written in human language and confronted with the live system, drives the test, the test drives the development. To see it at work on a real SAP case: the STDD film (8 min 34).

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 execution before writing 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.

Read against TDD. STDD keeps the logic of TDD and moves it one brick earlier. TDD is red, green, refactor: the test comes first, it fails, then the code makes it pass. In STDD the first brick is the spec, and a spec is green by default, in theory: it is written, believed and never run, so nothing can make it fail. STDD puts it to the test on the real system: red where the system refutes it, green once observed, and only then come the test and the code.

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 fails on every push and the Claude Code edit hook reports the drift.

SHA256 Fingerprint CI/CD Block Claude Code edit hook 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 or in a sovereign cloud (France, EU).

  • 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.
ADR 05 · Method & Value Chain STDD

What is the Spec-Test-Driven Development (STDD) that rf-test-agents implements?

rf-test-agents implements Spec-Test-Driven Development: the specification is a broad vision in human language, structured or not (business goal, user story, BDD scenario, existing test file); the planner confronts it with the live system and writes its observed version under specs/, which drives the test; the test, generated step by step in an active session and sealed with the SHA256 of its plan, drives the development of the automation layer. A missing capability is added to resources/ (or to the library of a vertical such as SAPFX or ODOOFX), never as a workaround in a test. The version that counts is observed, not assumed, and mechanically guarded.

  • Three links: observed spec, test derived from the spec, development derived from the test.
  • One method for every vertical: SAPFX (SAP) and ODOOFX (Odoo) apply it without forking it.
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 or sovereign cloud deployment (France, EU)
Official GitHub Repository

or directly via email: