Expect
Expect lässt Agents deinen Code im echten Browser testen: erkennt ungestagte Änderungen oder Branch-Diffs, erstellt einen Testplan und führt ihn live aus.
Was ist Expect?
Expect ist ein Entwicklertool, das Agents ermöglicht, deinen Code in einem echten Browser zu testen. Es analysiert deine aktuelle Arbeit (z. B. ungestagte Änderungen oder einen Branch-Diff), erstellt einen Testplan und führt diesen Plan in einem Live-Browser aus.
Der Kernzweck ist es, Code-Änderungen in einen handlungsrelevanten Satz browserbasierter Tests umzuwandeln, die von der Kommandozeile ausgeführt werden, damit du das Verhalten während der Arbeit validieren kannst.
Wichtige Funktionen
- Testplanung per Einzelsbefehl aus Code-Änderungen: Scannt ungestagte Änderungen oder einen Branch-Diff, um zu bestimmen, was getestet werden soll, und reduziert den Aufwand für manuelle Testpläne.
- Agent-generierter Testplan: Erzeugt einen Testplan basierend auf den erkannten Änderungen und bietet einen strukturierten Ausgangspunkt für die Browser-Ausführung.
- Ausführung in einem Live-Browser: Führt den generierten Plan in einer echten Browser-Umgebung aus statt nur statische Checks zu nutzen.
- Kommandozeilen-Initialisierung und -Nutzung: Beinhaltet einen
init-Workflow über dasexpect-cli-Paket. - Erweiterbarkeit durch Skills: Unterstützt das Hinzufügen von Skills (z. B. via
npx skills add … --skill expect), was auf zusätzliche Erweiterungsmöglichkeiten hinweist.
So nutzt du Expect
- Installieren und initialisieren: Führe
npx -y expect-cli@latest initaus, um Expect einzurichten. - Skill hinzufügen (falls nötig): Füge den relevanten Skill mit
npx skills add https://github.com/millionco/expect --skill expecthinzu. - Einzelsbefehls-Flow ausführen: Nutze den primären Befehl des Tools, um ungestagte Änderungen oder einen Branch-Diff zu scannen, einen Testplan zu generieren und ihn in einem Live-Browser auszuführen.
Anwendungsfälle
- Kleine lokale Änderungen validieren: Bei ungestagten Änderungen Expect ausführen, um die Änderungen zu scannen, einen Testplan zu generieren und ihn in einem echten Browser auszuführen.
- Feature-Branch vor Review testen: Bei einem Branch-Diff Expect ausführen, um einen browserbasierten Testplan aus den Branch-Unterschieden zu erzeugen.
- Browser-Test-Workflows automatisieren: Expect nutzen, um manuelle Testplanung zu reduzieren, indem der Agent einen Plan generiert und ihn in einem Live-Browser ausführt.
- Funktionen durch Skills erweitern: Wenn du Expect zusätzliches Verhalten über den Skill-Mechanismus geben möchtest, Skills mit den angegebenen CLI-Befehlen hinzufügen.
FAQ
Wie entscheidet Expect, welche Tests ausgeführt werden?
Expect scannt entweder ungestagte Änderungen oder einen Branch-Diff und generiert dann einen Testplan basierend auf diesem Änderungssatz.
Führt Expect Tests in einem echten Browser aus?
Ja. Der beschriebene Workflow führt den generierten Testplan in einem Live-Browser aus.
Wie starte ich durch?
Du kannst mit npx -y expect-cli@latest init beginnen und dann einen Skill mit dem npx skills add ... --skill expect-Befehl aus dem Seiteninhalt hinzufügen.
Kann ich Expect mit verschiedenen Code-Zuständen (ungestagte Änderungen vs. Branch-Diffs) nutzen?
Die Seite erwähnt explizit das Scannen ungestagter Änderungen oder eines Branch-Diffs als Eingaben für den Einzelsbefehls-Flow.
Was sind „Skills“ bei Expect?
Skills sind scheinbar über CLI hinzufügbarer Komponenten (mit einem npx skills add ... --skill ...-Befehl). Der Seiteninhalt demonstriert das Hinzufügen eines Skills von einer GitHub-URL.
Alternativen
- Browserbasierte End-to-End-Test-Frameworks (E2E): Tools, die Tests in echten Browsern ausführen, erfordern in der Regel, dass du Testskripte direkt schreibst und pflegst, wohingegen Expect sich auf die Generierung eines Testplans aus Code-Diffs konzentriert.
- Statische Analyse- und Linting-Tools: Diese erkennen Probleme ohne Browser-Ausführung. Expect zielt speziell auf die Browser-Ausführung eines agent-generierten Plans ab.
- Änderungsbezogene CI-Testautomatisierung: Lösungen, die basierend auf geänderten Dateien entscheiden, was getestet wird, können ähnliche Workflows haben, generieren und führen aber möglicherweise nicht denselben Stil browserbasierter Testpläne aus.
- Agentische QA-/Test-Tools: Alternativen auf Kategoriebene nutzen möglicherweise ebenfalls Agents zur Planung und Ausführung, aber der Unterschied bei Expect ist der explizite „echte Browser“-Ausführungsschritt, der an Code-Diffs gekoppelt ist.
Alternativen
Codex Plugins
Mit Codex Plugins bündelst du Skills, App-Integrationen und MCP-Server zu wiederverwendbaren Workflows und erweiterst Codex für Tools wie Gmail, Google Drive und Slack.
Falconer
Falconer ist eine selbstaktualisierende Wissensplattform für schnelle Teams: interne Doku und Code-Context schreiben, teilen und gezielt finden – an einem Ort.
OpenFlags
OpenFlags ist ein Open-Source, self-hosted Feature-Flag-System für progressive Delivery: lokale Evaluation in App-SDKs und ein simples Control-Plane für gezielte Rollouts.
AakarDev AI
AakarDev AI ist eine leistungsstarke Plattform, die die Entwicklung von KI-Anwendungen mit nahtloser Integration von Vektordatenbanken vereinfacht und eine schnelle Bereitstellung und Skalierbarkeit ermöglicht.
AgentMail
AgentMail ist eine E-Mail-Postfach-API für AI Agents: E-Mails per REST erstellen, senden, empfangen und durchsuchen für bidirektionale Gespräche.
Arduino VENTUNO Q
Arduino VENTUNO Q ist ein Edge-AI-Computer für Robotik und physische Systeme: KI-Inferenz mit Microcontroller für deterministische Steuerung. Entwickeln in Arduino App Lab.