Auto-QA: Autonome, intentionsgesteuerte QA-Engine
Eine autonome Web-QA-Testtoolchain, die End-to-End-Benutzerreisen gegen jede Webanwendung (lokaler Entwicklungs-Server oder Live-Website) mit Hilfe von englischen Benutzerabsichten, selbstheilenden W3C-Zugänglichkeitsheuristiken, aktiver Modal-Isolation und nativer @playwright/test-Kompilierung ausführt.
1. Entscheidungsregel für den dualen Betriebsmodus
Bevor Sie Maßnahmen ergreifen, überprüfen Sie Ihre deklarierten Tools:
- MODUS 1: MCP-Tool-Modus:
Wenn Tools, die mit
auto_qa_beginnen (z.B.auto_qa_execute_and_heal), in Ihrer aktiven Tool-Liste verfügbar sind, rufen Sie diese direkt über JSON-RPC auf. - MODUS 2: Antigravity Skill CLI-Modus (Standard & Standalone):
Wenn keine
auto_qa_*MCP-Tools deklariert sind, führen Sie alle QA-Aktionen überrun_commandmit der einheitlichen CLI aus:(Lösen Sienode "<skillPath>/scripts/cli.js" <command><skillPath>zu~/.gemini/config/skills/auto-qaoder dem Repository-Stammverzeichnis auf).
2. Der 3-stufige Testlebenszyklus
Stufe 1: Oberflächenerkennung (Zugängliche Steuerelemente kartieren)
Durchsuchen Sie die Ziel-URL, um interaktive Schaltflächen, Eingabefelder, Links und modale Dialoge zu extrahieren.
- MCP-Modus: Rufen Sie
auto_qa_generate_code_summary(projectPath, url)auf. - Skill CLI-Modus:
node "<skillPath>/scripts/cli.js" discover http://localhost:3000 -o auto_qa_tests/tmp/surface.json
Stufe 2: Erstellung des Intentionsplans (auto_qa_frontend_test_plan.json)
Erstellen Sie den deklarativen Testplan in auto_qa_tests/auto_qa_frontend_test_plan.json.
- MCP-Modus: Rufen Sie
auto_qa_generate_frontend_test_plan(projectPath, name, planSteps)auf. - Skill CLI-Modus: Schreiben Sie die JSON-Datei direkt mit Ihrem Dateierstellungstool:
{
"$schema": "https://raw.githubusercontent.com/TestSprite/testsprite-cli/main/schemas/plan.schema.json",
"projectId": "project-name",
"type": "frontend",
"name": "Benutzerregistrierungs- & Anmeldevorgang",
"targetUrl": "http://localhost:3000",
"priority": "p0",
"planSteps": [
{ "type": "action", "description": "navigate to http://localhost:3000/login" },
{ "type": "action", "description": "type '[email protected]' into 'Email'" },
{ "type": "action", "description": "type 'TestPass123!' into 'Password'" },
{ "type": "action", "description": "click 'Sign In'" },
{ "type": "assertion", "description": "verify 'Dashboard' is visible" },
{ "type": "assertion", "description": "verify URL contains '/dashboard'" }
]
}
Unterstützte Intentionsverben (Groß-/Kleinschreibung unwichtig, einfache oder doppelte Anführungszeichen):
- Aktionen:
navigate to <http(s)://url>/go to </path or http(s)://url>type '<text>' into '<target>'/fill '<text>' into '<target>'click '<target>'/press '<target>'select '<option>' from '<target>'check '<target>'/tick '<target>'
- Assertions:
verify '<target>' is visible/appearsverify '<target>' is not visible/disappearsverify text '<text>'/contains '<text>'verify URL contains '<path>'
Stufe 3: Ausführung, Selbstheilung & Code-Kompilierung
Führen Sie den deklarativen Testplan mit selbstheilender Elementauflösung aus, erfassen Sie Fehlersuchbildschirme und exportieren Sie nativen Code.
- MCP-Modus:
- Ausführen:
auto_qa_execute_and_heal(projectPath, planFile, baseUrl) - Exportieren:
auto_qa_compile_to_playwright(planPath, outputPath)
- Ausführen:
- Skill CLI-Modus:
- Test ausführen:
(Hinweis: Exit-Code 1 zeigt einen Assertionsfehler während des Tests an. Überprüfen Sienode "<skillPath>/scripts/cli.js" run auto_qa_tests/auto_qa_frontend_test_plan.json -u http://localhost:3000auto_qa_tests/artifacts/auf Screenshots undauto_qa_tests/auto-qa-test-report.mdauf Schrittdauern und Fehlertraces). - In nativen Playwright TypeScript kompilieren:
node "<skillPath>/scripts/cli.js" compile auto_qa_tests/auto_qa_frontend_test_plan.json -o tests/e2e/flow.spec.ts
- Test ausführen:
3. CLI-Unterbefehlsübersicht
| Unterbefehl | Zweck | Standardausgabe |
|---|---|---|
doctor | Vorabprüfung für Node, Playwright und Chromium-Binärdatei. | Terminal-Status |
discover <url> [-o <file>] | Durchsucht die Website und extrahiert Schaltflächen, Eingabefelder, Links, Modals und den Zugänglichkeitsbaum. | JSON-Oberflächenkarte |
run <planFile> [-u <url>] [-o <dir>] | Führt den Intentionsplan mit selbstheilender Auflösung aus. | auto_qa_tests/artifacts/ + auto-qa-test-report.md |
compile <planFile> [-o <file>] | Kompiliert den deklarativen Plan in natives @playwright/test .spec.ts. | <planName>.spec.ts |
bootstrap [dir] [-u <url>] | Initialisiert auto_qa_tests/tmp/config.json. | config.json |
mcp | Startet den stdio JSON-RPC 2.0 MCP-Server. | stdio-Stream |
4. Die 5-stufige Verifikationsstrategie
Wenn Sie aufgefordert werden, "Alles zu testen" oder eine unbekannte Webanwendung zu auditieren:
- Stufe 1: Navigation & Routen: Durchsuchen Sie Navigations- und Footer-Links; stellen Sie sicher, dass keine 404-Antworten auftreten.
- Stufe 2: Interaktive Steuerelemente: Testen Sie Dropdowns, Akkordeons, Theme-Umschalter und Filtersymbole.
- Stufe 3: Formularvalidierungstrichter:
- Happy Path: Gültige Eingaben senden → Erfolgsbanner oder Statusaktualisierung überprüfen.
- Error Path: Leere Pflichtfelder senden → Inline-Validierungswarnungen überprüfen.
- Stufe 4: Authentifizierungslebenszyklus: Gültiger Login, Zurückweisung ungültiger Anmeldeinformationen, Sitzungspersistenz und Logout.
- Stufe 5: Kern-CRUD-Workflows: Element erstellen → prüfen, ob es aufgelistet ist; Element ändern → prüfen, ob es aktualisiert wurde; Element löschen → prüfen, ob es entfernt wurde.