Interviewfragen zu Cypress mit Antworten
End-to-End- und Komponententests mit Cypress: Befehlswarteschlange und Retry-ability, Selektoren und Aktionen, Assertions, Aliase, cy.intercept und Fixtures, cy.session und Logins, eigene Befehle und Tasks, Testisolation und Daten, CI, parallele Läufe, instabile Tests und Suite-Architektur.
228 Fragen fürs Vorstellungsgespräch zu Cypress mit Antworten und Erklärungen: Level Junior, Middle und Senior. Beispielfragen, Online-Tests und Programmieraufgaben.
- Retry-ability
- cy.intercept
- cy.session
- Eigene Befehle
- CI
Fragen nach Level
Junior
Grundbegriffe und Syntax · 50 Fragen
Middle
Praxis, Feinheiten und Optimierung · 50 Fragen
Senior
Architektur, Interna, Randfälle · 50 Fragen
Beispielfragen
Ein paar Fragen aus jedem Level mit richtiger Antwort und Erklärung.
Cypress · Junior
- Wo laufen Cypress-Tests?
Antwort zeigen
Richtige Antwort: Im Browser, neben der getesteten App
Cypress führt Testcode in derselben Browser-Schleife wie die App aus, daneben läuft ein Node.js-Prozess für Dateien und Netzwerk-Proxy. Deshalb kann es den App-Zustand direkt lesen.
- Welcher Befehl öffnet die interaktive Cypress-App?
Antwort zeigen
Richtige Antwort:
npx cypress opencypress openstartet die App, in der man Browser und Spec wählt und den Tests zusieht.cypress runführt Tests ohne Oberfläche aus, wie in CI. - Welcher Befehl führt alle Cypress-Tests ohne Oberfläche aus, z. B. in CI?
Antwort zeigen
Richtige Antwort:
npx cypress runcypress runführt jede Spec im Terminal aus, speichert Screenshots bei Fehlern und liefert bei Fehlern einen Exit-Code ungleich null. - Wo wird die Hauptkonfiguration von Cypress meist festgelegt?
Antwort zeigen
Richtige Antwort: In
cypress.config.tsodercypress.config.jsDie Config setzt
baseUrl, Spec-Muster, Viewport, Timeouts, Retries und Node-Event-Handler überdefineConfig.
Cypress · Middle
- Was ist in Cypress 12+ der Unterschied zwischen Queries und Aktionsbefehlen?
Antwort zeigen
Richtige Antwort: Queries wie
getwerden wiederholt; Aktionen wieclickeinmalQueries laufen erneut, bis Assertions bestehen. Aktionen wie
.click()oder.type()werden nicht wiederholt, warten aber zuerst auf Actionability. - Was wird in
cy.get('.list').find('li').should('have.length', 3)wiederholt?Antwort zeigen
Richtige Antwort: Die ganze Kette von Queries vor der Assertion
Seit Cypress 12 führt eine scheiternde Assertion die verknüpften Queries erneut aus, neu gerenderte Elemente werden also gefunden.
- Was macht
.its('length')?Antwort zeigen
Richtige Antwort: Holt eine Eigenschaft des Subjects, wiederholt
.its()ist eine Query, daher wiederholtcy.get('li').its('length').should('be.gt', 2)..invoke()ruft eine Methode des Subjects auf. - Wie prüft man den Body, den ein Formular an die API sendet?
Antwort zeigen
Richtige Antwort: Den Request abfangen und
interception.request.bodyprüfenDas fängt Frontend-Fehler wie falsche Feldnamen oder Typen, die ein gestubbtes Backend still akzeptieren würde.
Cypress · Senior
- Was ist der architektonische Hauptkompromiss, wenn Cypress im Browser läuft?
Antwort zeigen
Richtige Antwort: Direkter App-Zugriff, aber nur ein Tab und Origin-Regeln
Im Browser zu laufen bringt Time Travel, App-Zugriff und zuverlässiges Warten. Der Preis sind ein Tab, Origin-Grenzen und Tests nur in JavaScript.
- Wann sollte ein Team Cypress statt Playwright wählen?
Antwort zeigen
Richtige Antwort: Wenn der interaktive Runner zählt und die App in die Grenzen passt
Cypress glänzt bei JS-Teams mit einer App, die schnelles Feedback im Runner wollen. Mehrere Tabs, Origins oder Sprachen sprechen für Playwright.
- Warum braucht Cypress
cy.originfür SSO-Abläufe, Playwright aber nicht?Antwort zeigen
Richtige Antwort: Cypress läuft in der Seite eines Origins und muss den Kontext wechseln
Playwright steuert den Browser von außen, Origins spielen keine Rolle. Cypress läuft in der Seite, andere Origins brauchen einen eigenen Ausführungskontext.
- Was ist in großen Suiten die häufigste Ursache instabiler Cypress-Tests?
Antwort zeigen
Richtige Antwort: Geteilter Zustand und Timing-Annahmen
Die meisten Flakes entstehen, weil Tests voneinander, von echtem Timing oder von geteilten Backend-Daten abhängen. Die Ursache beheben; Retries verstecken sie nur.
Programmieraufgaben
Schreib die Lösung direkt im Browser, und Tests prüfen sie sofort. Klassiker aus Vorstellungsgesprächen zu JavaScript (debounce, deepClone, Promise.all, LRU-Cache), zu TypeScript (Generics, Narrowing und Utility Types, geprüft von einem echten Compiler), Backend-Logik in Node.js (Middleware, Rate Limits, Job-Queues), SQL-Abfragen in echtem PostgreSQL und zu React: Komponenten und Hooks wie eine Aufgabenliste, Tabs, useDebounce und useInterval.
Aufgaben öffnen →