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.
Startparameter
Abschnitt betitelt „Startparameter“Automatisierungsspezifische Parameter werden nur akzeptiert, wenn --automation gesetzt ist.
| Parameter | Zweck |
|---|---|
--automation | Aktiviert 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.
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-tokenCDP-Passthrough
Abschnitt betitelt „CDP-Passthrough“--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.
Authentifizierung
Abschnitt betitelt „Authentifizierung“Automatisierungsendpunkte verlangen eines dieser Header-Formate:
X-Guida-Automation-Token: test-tokenAuthorization: Bearer test-tokenIst der Automatisierungsmodus deaktiviert, antworten /api/automation/*-Endpunkte mit 404. Ist er aktiv, aber das Token fehlt oder ist falsch, wird die Anfrage abgewiesen.
Endpunkte
Abschnitt betitelt „Endpunkte“Alle Endpunkte liegen unter /api/automation.
| Endpunkt | Zweck |
|---|---|
GET /api/automation/status | Gibt 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/tabs | Listet für das Harness sichtbare Guida-Tabs |
POST /api/automation/tabs | Erstellt einen Tab aus { "name": "...", "url": "...", "activate": true, "waitForLoad": true } |
POST /api/automation/tabs/{tabId}/activate | Aktiviert einen vorhandenen Tab |
GET /api/automation/tabs/active/ready | Wartet auf Bereitschaft des aktiven Tabs; unterstützt timeoutMs |
POST /api/automation/shutdown | Fordert das Beenden von Guida an |
Typischer Ablauf
Abschnitt betitelt „Typischer Ablauf“- Guida mit
--automation, Dashboard-Port und bekanntem Token starten. GET /api/automation/statusaufrufen, bis Guida erreichbar ist.- Einen Arbeitsbereich öffnen, falls keiner beim Start angegeben wurde.
- Einen Guida-Tab erstellen oder aktivieren.
GET /api/automation/tabs/active/readyabwarten.- Bei Bedarf das Browser-Harness mit dem CDP-Port verbinden.
- Beim Teardown
POST /api/automation/shutdownaufrufen.
Sicherheitsnotizen
Abschnitt betitelt „Sicherheitsnotizen“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.