NCA Social Media
Aktualisiert:
Autor:
Roland Golla
cypress tap: Cypress CLI für KI Agenten

Was ist cypress tap?

cypress tap ist eine Erweiterung der Cypress CLI, mit der ein KI Agent eine laufende cypress open Session direkt aus dem Terminal steuert. Der Agent startet Specs, liest Fehler und Command Log so, wie du sie in der Cypress App siehst, und prüft DOM und Accessibility Tree der getesteten Anwendung.

Bisher bekam ein Agent nach einem Testlauf nur grün oder rot zurück. Alles, was einen Fehler reparierbar macht, steckte in der Cypress App: Command Log, Fehlermeldung mit Code Frame, der DOM zum Zeitpunkt des Fehlers. cypress tap holt genau diesen Kontext ins Terminal. Der Agent schreibt einen Test, prüft ihn gegen die echte App und korrigiert ihn im selben Loop.

Cypress hat cypress tap am 18. August 2026 mit Version 15.21.0 als Beta veröffentlicht. Die CLI ist kostenlos und ohne Nutzungslimit, braucht kein Cypress Cloud Konto und läuft gegen deine lokale App. Passend dazu gibt es den Skill cypress-tap im Cypress AI Toolkit.

Inhalt

cypress tap mit NCA, schnelle Hilfe vom Experten

Ein Agent, der Tests schreibt, ohne sie gegen die echte App zu prüfen, rät. cypress tap beendet das Raten, aber nur, wenn das Setup drumherum stimmt: Regeln in der AGENTS.md, saubere data-cy Selektoren, geschützte Testdateien und ein Review vor dem Merge. Bei uns läuft Cypress mit Cypress Cloud in Production, KI Agenten arbeiten in Claude Code und OpenCode. Roland Golla ist Cypress Ambassador und hat Tests von Hand geschrieben, debuggt und repariert, lange bevor Agenten dazukamen. Genau dieses Wissen geben wir den Agenten über Regeln mit.

Im Cypress Workshop mit Roland Golla lernt dein Team Cypress von Grund auf, inklusive Agenten Workflow. In den KI Workshops für Entwicklerteams richten wir cypress tap und die Cypress Skills direkt im Terminal mit ein. Teams, die Agenten schon täglich nutzen, begleiten wir in der Vibe Coding Beratung mit den NCA Agentic AI Coding Guardrails. Wie die Fehlersuche in der Pipeline läuft, zeigt unsere Seite zu Cypress Test Replay.

NCA Cypress Workshop mit Cypress Ambassador Roland Golla

E2E Tests, die euer Team selbst schreibt

Ein Tag inhouse mit Roland Golla, offizieller Cypress Ambassador und seit über 20 Jahren in Testing und Refactoring zu Hause. Auf unserem YouTube Kanal zeigt er in über 70 Live Coding Tutorials, wie Cypress in echten Projekten läuft. Dazu kommt unser Open Source Plugin NCA TESTIFY: Basistests für jede Website, mit einer Zeile im CI/CD Setup. Im Workshop lernt euer Team Setup, stabile Selektoren, Custom Commands und Tests in der Pipeline.

  1. 1
    Kostenloses Vorgespräch
    Projekt, Stack und Teststand klären
  2. 2
    Workshoptag bei euch
    Setup, Patterns und erste Tests im Team
  3. 3
    Praxistag optional
    Tests im eigenen Projekt und in CI
Roland Golla
Roland Golla
Fullstack Developer
Zum Cypress Workshop arrow_forward

Voraussetzungen und Grenzen

cypress tap hängt sich an eine Session, die schon läuft. Es startet keinen eigenen headless Lauf. Das bestimmt, was geht und was nicht.

  • Cypress 15.21.0 oder neuer. Ältere Versionen lassen sich nicht steuern. Passen CLI und Session nicht zusammen, bricht die CLI mit einem Versionshinweis ab.
  • Nur cypress open. Headless Läufe mit cypress run findet die CLI nicht. Für CI bleibt alles wie gehabt.
  • Nur Chromium Browser. Chrome, Chromium, Edge und Electron funktionieren, Firefox und WebKit nicht.
  • Nur der letzte Lauf. Command Details und DOM Snapshots hält Cypress nur für die jüngsten Tests vor, gesteuert über numTestsKeptInMemory.
  • Erst lesen, wenn der Lauf fertig ist. dom, aria, inspect und pin melden RUN_IN_PROGRESS, solange eine Spec läuft.

Ein Punkt wird gern übersehen: Agent und Mensch teilen sich denselben App Frame. Wer im Cypress Fenster klickt, während der Agent arbeitet, ändert, was der nächste Befehl liest. Die Regel bei uns ist einfach: Eine Session, die ein Agent steuert, schaut man an, man fasst sie nicht an.

Die Befehle im Überblick

cypress tap bringt zehn Unterbefehle mit. Jeder gibt standardmäßig lesbaren Text aus und mit --json ein stabiles JSON Ergebnis. Für Agenten und Skripte ist JSON der Vertrag. Jeder Befehl endet mit Exit Code 0 bei Erfolg und 1 bei Fehlern. Mehrere Sessions unterscheidest du über die Prozess ID.

cypress tap Befehle und wofür du sie brauchst

Befehl Was er tut Typischer Einsatz
sessions Listet erreichbare Cypress Sessions mit PID, Projekt, Testtyp und Browser Mehrere Projekte offen, richtige Session wählen
status Zeigt die Phase der Session, von not connected bis passed oder failed Polling nach dem Start einer Spec
specs Listet alle Specs der Session, sortiert nach letzter Änderung Agent sucht die passende Spec
run Startet oder wiederholt eine Spec über den Projektpfad Test nach jeder Änderung neu laufen lassen
reporter Zeigt den Spec Report oder einen einzelnen Test mit Command Log und Fehler Fehler lesen wie im Reporter der Cypress App
command Details zu einem Command Log Eintrag mit Snapshots und Console Props Prüfen, was ein Klick oder Intercept wirklich getan hat
pin Setzt einen DOM Snapshot als aktiven Zustand, wie Time Travel in der App Seite genau im Moment des Fehlers ansehen
dom Liest das HTML der App oder eines Elements, standardmäßig gedeckelt Echte Selektoren finden statt raten
aria Liest den Accessibility Tree mit Rolle, Name und Zustand Seitenstruktur günstig erfassen, A11y Fehler prüfen
inspect Zeigt Tag, Attribute, Box Model und wichtige Computed Styles eines Elements Sichtbarkeit, Layout oder Kontrast klären

Installation und erster Lauf

Eine eigene Installation braucht cypress tap nicht. Die Befehle stecken in Cypress selbst. Du aktualisierst Cypress und startest die App im Open Mode mit einem Chromium Browser.

Code:
          

npm install cypress@latest --save-dev
npx cypress open --e2e --browser=chrome

In einem zweiten Terminal im selben Projektordner arbeitet jetzt der Agent. Die CLI findet die laufende Session selbst. Sind mehrere offen, nimmt sie die, deren Projekt zum aktuellen Ordner passt.

Code:
          

npx cypress tap status
npx cypress tap specs
npx cypress tap run cypress/e2e/checkout.cy.ts

Damit der Agent die Befehle kennt, installierst du den Skill aus dem Cypress AI Toolkit. Wir committen Skills immer projektbezogen, damit das ganze Team dieselbe Version nutzt.

Code:
          

npx skills add https://github.com/cypress-io/ai-toolkit --skill cypress-tap

Praktisch für Agenten: npx cypress tap --help funktioniert auch ohne laufende Session. Ist eine Session aktiv, kommt die Hilfe aus deren eigenem Schema. So liest der Agent immer die Befehle der Version, die er gleich steuert.

Der Debug Loop: run, status, reporter, pin

Ein typischer Fall: Der Agent schreibt einen Checkout Test und rät den Selektor .submit-btn. Der Test wird rot. Ohne cypress tap müsstest du jetzt HTML in den Chat kopieren. Mit cypress tap schaut der Agent selbst nach.

Schritt 1: Spec starten und auf ein Ergebnis warten. run kehrt sofort zurück. Das Ergebnis liefert erst status.

Code:
          

npx cypress tap run cypress/e2e/checkout.cy.ts
npx cypress tap status --json

Schritt 2: Fehler lesen. reporter zeigt die Übersicht mit Test IDs wie r5. Mit der ID bekommt der Agent Command Log, Fehler und Code Frame des Tests.

Code:
          

npx cypress tap reporter
npx cypress tap reporter --test-id r5

Schritt 3: Die Seite zum Fehlerzeitpunkt ansehen. pin setzt den Snapshot eines Commands, danach lesen dom, aria und inspect genau diesen Zustand. Zum Schluss wird der Pin wieder gelöst.

Code:
          

npx cypress tap pin --test-id r5 --command-id 3 --at after
npx cypress tap dom --selector form
npx cypress tap inspect --selector "[data-cy=checkout-submit]"
npx cypress tap pin --clear

Der Agent sieht jetzt das echte Markup, korrigiert den Selektor auf data-cy und startet die Spec neu. Oft zeigt der Loop auch das Gegenteil: Der Test ist richtig und die App hat einen Bug. Auch das ist ein wertvolles Ergebnis, solange der Agent den Test dann nicht passend biegt.

Polling richtig machen: vier Fallen

Weil run sofort zurückkehrt, fragt der Agent status so lange ab, bis ein Ergebnis da ist. Hier passieren die meisten Fehler. Die Cypress Doku nennt vier Fallen, die gehören in jede Agenten Anleitung:

  • Nur passed und failed sind Ergebnisse. loading, running und alle anderen Phasen heißen: weiter warten.
  • startedAt vergleichen. Ein alter Lauf bleibt lesbar, bis der neue startet. Ein passed mit dem alten Zeitstempel gehört zum vorherigen Lauf.
  • loading kann ewig dauern. Eine Spec, die nicht kompiliert, bleibt in loading hängen. Der Poller braucht ein eigenes Timeout.
  • passed heißt nicht, dass etwas lief. Eine leere Spec oder nur übersprungene Tests melden ebenfalls passed. Erst results.passed größer null bestätigt einen echten Lauf.

Gerade der letzte Punkt ist bei Agenten kritisch. Ein Agent, der ein it.skip setzt und dann passed meldet, hat nichts bewiesen. Das ESLint Plugin für Cypress mit eslint-plugin-mocha fängt vergessene .only und .skip schon vor dem Lauf ab.

cypress tap in der AGENTS.md verankern

Der Skill erklärt dem Agenten die Befehle. Wann er sie nutzt und was er nicht darf, regelst du in der AGENTS.md, bei Claude Code in der CLAUDE.md. So sieht ein kompakter Abschnitt aus, angelehnt an die Vorlage aus der Cypress Doku und ergänzt um unsere Guardrails:

Code:
          

## Cypress Tests mit cypress tap prüfen

- Immer --json nutzen.
- Zuerst npx cypress tap status. Bei not connected: mich bitten, npx cypress open zu starten.
- Nach jeder Änderung die betroffene Spec mit npx cypress tap run starten.
- status pollen bis passed oder failed, startedAt mit dem vorherigen Lauf vergleichen.
- Nach 120 Sekunden in loading abbrechen und mir Bescheid geben.
- passed mit results.passed gleich 0 gilt als nicht gelaufen.
- Bei failed: reporter, dann reporter --test-id, dann pin und dom oder aria.
- Pin nach dem Lesen immer mit pin --clear lösen.
- Bestehende Assertions nie abschwächen, kein it.skip, kein force: true.
- Selektoren nur über data-cy.

Die Timeout Zahl ist ein Beispiel. Wähle sie nach der Build Zeit deines Projekts. Wichtig ist nur, dass es überhaupt ein Timeout gibt.

Barrierefreiheit prüfen mit aria und inspect

Der Befehl aria liefert den Accessibility Tree so, wie ihn die Browser DevTools zeigen: Rolle, Name und Zustand jedes relevanten Elements. Für einen Agenten ist das oft der günstigste Weg, eine Seite zu verstehen. Der Tree ist viel kleiner als der DOM und zeigt sofort, was ein Screenreader sieht.

Code:
          

npx cypress tap aria
npx cypress tap aria --selector ".cart-item__remove"

Steht bei einem Button nur die Rolle und kein Name, fehlt der Accessible Name. Der Agent ergänzt das Label, startet die Spec neu und prüft den Tree erneut. Für Regeln rund um Darstellung wie Farbkontrast nutzt er inspect, das die berechneten Werte für color und background-color ausgibt.

Spannend für Refactorings: Den ARIA Tree vor und nach einem Umbau als JSON speichern und vergleichen. So sieht das Team sofort, ob ein Element seinen Namen verloren hat. Welche Tools wir sonst für Accessibility Tests einsetzen, steht bei den Accessibility Testing Tools.

Den Loop schließen mit Cloud MCP und Cloud CLI

cypress tap arbeitet lokal. Was in der Pipeline kaputt ging, weiß Cypress Cloud. Zusammen ergibt das einen geschlossenen Kreislauf:

  • Triage in der Cloud. Über Cypress Cloud MCP oder die Cloud CLI cy-cloud holt der Agent die fehlgeschlagenen Tests des letzten Laufs samt Fehler und Test Replay Daten.
  • Ursache finden. Fehlermeldung, Replay Timeline und Quellcode zeigen, ob Test oder App schuld sind.
  • Lokal verifizieren. Die Cloud CLI liefert den specFilepath. Genau diesen Pfad nimmt cypress tap run entgegen.
  • Iterieren. run, status, reporter, bis die Spec lokal grün ist. Erst dann wird gepusht.

Der Mensch bleibt im Loop: Er startet cypress open, reviewt die Änderung und gibt den Merge frei. Mehr zum Umgang mit wackeligen Tests steht bei Flaky Tests in Cypress, zur Abgrenzung von automatischen Reparaturen bei Self Healing Tests.

Your AI agent can write a Cypress test in seconds.

Emily Wisniewski, Autorin der Ankündigung von cypress tap – Cypress Blog

Aus der NCA Praxis, der Agent prüft und das Team gibt frei

cypress tap löst ein echtes Problem: Agenten konnten ihre eigene Arbeit nicht prüfen. Es löst nicht das zweite Problem, dass Agenten gern den kürzesten Weg zu grün suchen. Deshalb gilt bei uns in jedem Projekt zuerst: Testdateien und Custom Commands sind geschützt. Der Agent darf neue Specs anlegen und Selektoren korrigieren. Eine Assertion abschwächen, damit der Test grün wird, darf er nicht. Wie wir das absichern, beschreiben die Quality Gates für KI Code.

Zweite Regel: Der Agent arbeitet nur gegen eine lokale Umgebung mit Fake Daten. dom und command können Formularwerte, Tokens und Response Bodies zeigen, und alles, was im Terminal landet, sieht auch das Modell. Die Cypress Doku empfiehlt dafür cy.env für sensible Werte. Wir ergänzen Testdaten aus dem Seed statt echter Kundendaten. Gut zu wissen: Cypress erfasst Telemetrie zur Nutzung der CLI, also Befehlsname, Flags und Fehlerstatus. Wie man das abschaltet, steht im Abschnitt Security der offiziellen Doku.

Weiterlesen: Cypress Grep für Burn Tests nach einer Reparatur, Custom Commands als Bausteine, die der Agent nutzen soll, cy.prompt als weiterer KI Weg in Cypress, UI Coverage für Lücken in der Suite, unser eigenes NCA TESTIFY Cypress Plugin und das NCA Cypress Glossar mit allen Einträgen.

CYPRESS.IO Ambassador und IT Consultant für QA Engenieering und Qualität in PHP Projekten.
NCA Vibe Coding Consulting

Roland Golla ist Entwickler aus Leidenschaft – seit über 20 Jahren. Er hat hunderte Projekte begleitet, von Legacy-Refactoring bis KI-Integration. Bei Vibe Coding verbindet er das Beste aus beiden Welten: Die Geschwindigkeit von KI-generiertem Code mit der Qualität professioneller Softwareentwicklung. Kein Bullshit, keine Agentur-Floskeln – direkte Hilfe von jemandem, der selbst täglich im Code steckt.

Häufige Fragen zu cypress tap

Die wichtigsten Antworten zu Voraussetzungen, Befehlen, Polling, Sicherheit und dem Einsatz mit KI Agenten.

Was ist cypress tap 2026?

cypress tap ist eine Erweiterung der Cypress CLI, die seit Version 15.21.0 als Beta verfügbar ist. Ein KI Agent steuert damit eine laufende cypress open Session aus dem Terminal: Specs starten, Status abfragen, Command Log und Fehler lesen sowie DOM und Accessibility Tree prüfen. So kann der Agent seine Tests gegen die echte App verifizieren.

Was kostet cypress tap 2026?

Nichts. Laut Cypress ist die CLI für alle Testautoren ab Version 15.21.0 kostenlos und ohne Nutzungslimit. Ein Cypress Cloud Konto ist nicht nötig, weil cypress tap nur mit der lokalen Session arbeitet. Kosten entstehen höchstens beim KI Agenten selbst, etwa durch Token oder den Betrieb eines lokalen Modells.

Welche Voraussetzungen hat cypress tap 2026?

Du brauchst Cypress 15.21.0 oder neuer, eine laufende cypress open Session und einen Chromium Browser wie Chrome, Chromium, Edge oder Electron. Firefox und WebKit werden nicht unterstützt. Headless Läufe mit cypress run findet die CLI nicht. Der Agent muss Shell Befehle im Projektordner ausführen können.

Mit welchen KI Agenten funktioniert cypress tap 2026?

Mit jedem Agenten, der Shell Befehle ausführen kann. Die Cypress Doku nennt Cursor, Claude Code, GitHub Copilot, Windsurf und Codex CLI. Wir setzen auf Claude Code und OpenCode. Den Skill cypress-tap aus dem Cypress AI Toolkit installierst du projektbezogen, die Regeln für den Einsatz gehören in die AGENTS.md oder CLAUDE.md.

Läuft cypress tap 2026 in der CI Pipeline?

Nein. cypress tap hängt sich nur an interaktive cypress open Sessions an. In der Pipeline laufen Tests weiter headless mit cypress run, die Ergebnisse landen in Cypress Cloud. Für die Brücke zwischen CI und lokal nutzt der Agent Cloud MCP oder die Cloud CLI und verifiziert die Reparatur danach lokal mit cypress tap.

Was ist der Unterschied zu cypress run?

cypress run führt Tests headless aus und liefert am Ende ein Ergebnis. cypress tap steuert eine offene Session und gibt dem Agenten den Kontext dazu: Command Log, Fehler mit Code Frame, DOM Snapshots, ARIA Tree und Computed Styles. Es geht ums Schreiben und Debuggen am Entwicklerrechner, nicht um den Lauf in CI.

Wie erkennt der Agent, dass ein Lauf fertig ist?

Über status, am besten mit --json. Nur passed und failed sind Ergebnisse. Der Agent vergleicht startedAt mit dem vorherigen Lauf, denn ein altes Ergebnis bleibt lesbar, bis der neue Lauf startet. Ein Timeout gegen hängendes loading und der Blick auf results.passed gehören ebenfalls in jede Anleitung.

Was macht der Befehl pin?

pin setzt den DOM Snapshot eines bestimmten Commands als aktiven Zustand im App Frame, genau wie ein Klick auf den Command in der Cypress App. Danach lesen dom, aria und inspect die Seite so, wie sie in diesem Moment war. Mit pin --clear löst der Agent den Pin wieder. Ein neuer Lauf löst ihn automatisch.

Darf ich im Cypress Fenster klicken, während der Agent arbeitet?

Besser nicht. Agent und Mensch teilen sich denselben App Frame, es gibt keine Sperre. Ein Klick auf einen Command, ein Spec Wechsel oder ein neuer Lauf aus der App ändert, was der nächste Befehl des Agenten liest. Wir behandeln eine Session, die ein Agent steuert, wie einen Bildschirm zum Zuschauen.

Ist cypress tap sicher für Projekte mit sensiblen Daten?

Die Daten bleiben in der lokalen Session, landen aber im Kontext des Agenten. Formularwerte, Tokens oder Response Bodies kann das Modell also sehen. Cypress empfiehlt cy.env für sensible Werte. Wir lassen Agenten nur gegen lokale Umgebungen mit Fake Daten aus dem Seed arbeiten. Zur CLI Nutzung erfasst Cypress Telemetrie, die sich abschalten lässt.

Wie hilft cypress tap bei Barrierefreiheit?

Der Befehl aria liefert den Accessibility Tree mit Rolle, Name und Zustand, inspect zeigt berechnete Farben und Box Model. Damit prüft der Agent zum Beispiel, ob ein Button einen Accessible Name hat, korrigiert das Markup und kontrolliert das Ergebnis direkt. Zusammen mit Cypress Accessibility in der Cloud entsteht ein schneller Fix Loop.

Brauche ich zusätzlich das Cypress AI Toolkit?

Empfehlenswert. cypress tap ist das Werkzeug, der Skill cypress-tap aus dem Toolkit erklärt dem Agenten, wie er es nutzt. Die Skills cypress-author und cypress-explain helfen beim Schreiben und Prüfen der Tests. Zusammen schreibt der Agent Tests nach Best Practices und sieht, was beim Lauf wirklich passiert.