Zum Inhalt springen

Automatisierungsmodus

Der Automatisierungsmodus ist für Test-Harnesses gedacht, die Guida deterministisch starten, über CDP an WebView2 anbinden, einen Arbeitsbereich öffnen, Tabs erstellen, Bereitschaft abwarten und die Anwendung sauber beenden müssen.

Er ist getrennt von der Betriebsdashboard-API und der Remote Ops API. Dashboard-Endpunkte sind nur lesend. Remote Ops ist eine explizit aktivierte Steuerungs-API für vertrauenswürdige Kanäle. Automatisierungsendpunkte sind für Tests und existieren nur, wenn Guida mit --automation gestartet wurde.

Automatisierungsspezifische Parameter werden nur akzeptiert, wenn --automation gesetzt ist.

ParameterZweck
--automationAktiviert den Automatisierungsmodus
--workspace <path>Öffnet beim Start einen Arbeitsbereich
--webview-user-data-dir <path>Verwendet ein bestimmtes WebView2-Profilverzeichnis
--cdp-port <port>Stellt das Chrome DevTools Protocol von WebView2 auf diesem Port bereit
--dashboard-host <address>Überschreibt die Bind-Adresse des eingebetteten Servers
--dashboard-port <port>Überschreibt den Port des eingebetteten Servers
--automation-token <token>Setzt das Token für /api/automation/*-Anfragen

Ohne WebView2-Benutzerdatenverzeichnis erstellt Guida ein isoliertes temporäres Automatisierungsprofil. Ohne Token erzeugt Guida eines und schreibt es in die Console.

Terminalfenster
Guida.exe --automation `
--workspace C:\dev\btbrowser-workspace `
--webview-user-data-dir C:\temp\guida-webview `
--cdp-port 9222 `
--dashboard-host 127.0.0.1 `
--dashboard-port 9315 `
--automation-token test-token

--cdp-port ist für Playwright-ähnliche Test-Harnesses gedacht, die über Chrome DevTools Protocol direkt mit dem zugrunde liegenden WebView2-Browser sprechen müssen.

CDP liefert browsernahe Inspektion und Automatisierung. Die Guida-Automatisierungs-API deckt Guida-spezifische Schritte ab: Arbeitsbereich öffnen, Guida-Tabs erstellen oder aktivieren, Bereitschaft abwarten und die Anwendung beenden.

Automatisierungsendpunkte verlangen eines dieser Header-Formate:

X-Guida-Automation-Token: test-token
Authorization: Bearer test-token

Ist der Automatisierungsmodus deaktiviert, antworten /api/automation/*-Endpunkte mit 404. Ist er aktiv, aber das Token fehlt oder ist falsch, wird die Anfrage abgewiesen.

Alle Endpunkte liegen unter /api/automation.

EndpunktZweck
GET /api/automation/statusGibt Arbeitsbereich, aktiven Workflow, aktiven Tab und Tab-Anzahl zurück
GET /api/automation/sessionÖffnet einen SSE-Heartbeat-Stream für Lebenszyklusprüfungen
POST /api/automation/workspaceÖffnet einen Arbeitsbereich aus { "path": "..." }
GET /api/automation/tabsListet für das Harness sichtbare Guida-Tabs
POST /api/automation/tabsErstellt einen Tab aus { "name": "...", "url": "...", "activate": true, "waitForLoad": true }
POST /api/automation/tabs/{tabId}/activateAktiviert einen vorhandenen Tab
GET /api/automation/tabs/active/readyWartet auf Bereitschaft des aktiven Tabs; unterstützt timeoutMs
POST /api/automation/shutdownFordert das Beenden von Guida an
  1. Guida mit --automation, Dashboard-Port und bekanntem Token starten.
  2. GET /api/automation/status aufrufen, bis Guida erreichbar ist.
  3. Einen Arbeitsbereich öffnen, falls keiner beim Start angegeben wurde.
  4. Einen Guida-Tab erstellen oder aktivieren.
  5. GET /api/automation/tabs/active/ready abwarten.
  6. Bei Bedarf das Browser-Harness mit dem CDP-Port verbinden.
  7. Beim Teardown POST /api/automation/shutdown aufrufen.

Halten Sie den Automatisierungsmodus lokal oder in einer vertrauenswürdigen Testumgebung. Im Gegensatz zur Dashboard-API können Automatisierungsendpunkte Arbeitsbereiche öffnen, Tabs erstellen und aktivieren und Guida beenden.

Für reines Monitoring im privaten Netzwerk verwenden Sie die schreibgeschützte Betriebsdashboard-API. Für Fernsteuerung durch Betreiberwerkzeuge verwenden Sie die Remote Ops API, nicht den Automatisierungsmodus.