← Alle Themen

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.

Fragen nach Level

Beispielfragen

Ein paar Fragen aus jedem Level mit richtiger Antwort und Erklärung.

Cypress · Junior

  1. 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.

  2. Welcher Befehl öffnet die interaktive Cypress-App?
    Antwort zeigen

    Richtige Antwort: npx cypress open

    cypress open startet die App, in der man Browser und Spec wählt und den Tests zusieht. cypress run führt Tests ohne Oberfläche aus, wie in CI.

  3. Welcher Befehl führt alle Cypress-Tests ohne Oberfläche aus, z. B. in CI?
    Antwort zeigen

    Richtige Antwort: npx cypress run

    cypress run führt jede Spec im Terminal aus, speichert Screenshots bei Fehlern und liefert bei Fehlern einen Exit-Code ungleich null.

  4. Wo wird die Hauptkonfiguration von Cypress meist festgelegt?
    Antwort zeigen

    Richtige Antwort: In cypress.config.ts oder cypress.config.js

    Die Config setzt baseUrl, Spec-Muster, Viewport, Timeouts, Retries und Node-Event-Handler über defineConfig.

Alle 75 Fragen mit Antworten →

Cypress · Middle

  1. Was ist in Cypress 12+ der Unterschied zwischen Queries und Aktionsbefehlen?
    Antwort zeigen

    Richtige Antwort: Queries wie get werden wiederholt; Aktionen wie click einmal

    Queries laufen erneut, bis Assertions bestehen. Aktionen wie .click() oder .type() werden nicht wiederholt, warten aber zuerst auf Actionability.

  2. 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.

  3. Was macht .its('length')?
    Antwort zeigen

    Richtige Antwort: Holt eine Eigenschaft des Subjects, wiederholt

    .its() ist eine Query, daher wiederholt cy.get('li').its('length').should('be.gt', 2). .invoke() ruft eine Methode des Subjects auf.

  4. Wie prüft man den Body, den ein Formular an die API sendet?
    Antwort zeigen

    Richtige Antwort: Den Request abfangen und interception.request.body prüfen

    Das fängt Frontend-Fehler wie falsche Feldnamen oder Typen, die ein gestubbtes Backend still akzeptieren würde.

Alle 77 Fragen mit Antworten →

Cypress · Senior

  1. 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.

  2. 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.

  3. Warum braucht Cypress cy.origin fü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.

  4. 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.

Alle 76 Fragen mit Antworten →

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 →