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.
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.
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.
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).
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.
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.
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.
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.
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.
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/.
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.
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.
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 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.
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.
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.
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
Understanding the rf-test-agents Architecture
The fundamental engineering choices guaranteeing technological neutrality, zero hallucinated locators, and absolute test suite integrity.
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.
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.
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.
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.
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