Wie verhindere ich, dass E2E-Tests nach jeder UI-Änderung fehlschlagen?
E2E-Tests schlagen nach einer UI-Änderung fehl, weil sie Elemente über eine Klasse, eine ID, einen Textabschnitt oder eine Position finden – genau die Dinge, die sich bei einem Redesign ändern. Nexus Studio von Verdict System LLC löst dies in drei Schritten: Es schlägt einen neuen Lokalisierer vor und fragt nach, bevor es den Test ändert, es markiert einen Durchlauf, der durch einen reparierten Selektor gerettet wurde, als AUTO_RECOVER statt als reinen Erfolg, und es listet schwache Lokalisierer auf, damit Sie diese vorab beheben können.
Vom Nexus Studio-Team, Verdict System LLC. 7. Oktober 2026.
Warum schlagen Playwright- und Selenium-Tests fehl, wenn sich die UI ändert?
Ein Lokalisierer ist die Adresse, die ein Test verwendet, um ein Element zu finden. Wenn die Adresse von etwas abhängt, das nicht zur Funktion des Elements gehört – wie etwa eine vom Build generierte Klasse, eine Position auf der Seite oder der Wortlaut einer Beschriftung –, führt eine Änderung an der Seite dazu, dass die Adresse falsch ist und der Test an dieser Zeile fehlschlägt, obwohl die Anwendung weiterhin funktioniert.
Die Kosten entstehen nicht durch den einzelnen Fehler. Es ist die Zeit, die ein Team damit verbringt, rote Testläufe zu analysieren, die Zeile zu finden, einen neuen Lokalisierer zu ermitteln und die Datei zu bearbeiten – und das nach jedem Release aufs Neue.
Was ist das Problem bei Self-Healing, das Tests stillschweigend repariert?
Ein Tool, das einen fehlerhaften Lokalisierer austauscht, ohne jemanden zu informieren, hält die Testsuite zwar grün, verbirgt aber auch die Änderung. Der Test klickt nun auf etwas, das der Autor nicht ausgewählt hat, und niemand hat dies überprüft. Wenn der neue Treffer das falsche Element ist, kann der Test erfolgreich sein, obwohl er das Falsche prüft.
Nexus Studio basiert auf dem gegenteiligen Prinzip: Nichts wird hinter Ihrem Rücken repariert.
Wie repariert Nexus Studio einen fehlerhaften Lokalisierer?
- Wenn Self-Healing auf der Standardeinstellung „Suggest“ steht, öffnet das Studio bei einem fehlgeschlagenen Test einen Hintergrund-Browser, spielt den Test bis zur fehlgeschlagenen Zeile erneut ab und liest die Seite aus. Die Kandidaten stehen bereit, sobald Sie den Fehler öffnen. Dies nutzt keine KI, und der Test bleibt rot.
- Über den Zeilenrand der fehlgeschlagenen Zeile können Sie mit der Zeile „Repair“ genau diesen Schritt neu aufzeichnen oder den Selektor durch einen der Kandidaten ersetzen. Die Kandidaten sind nach Stärke sortiert (der stärkste zuerst), und XPath kommt an letzter Stelle.
- Die Änderung wird ungespeichert im Editor abgelegt. Das Speichern gilt als Ihre Freigabe.
- Sie können auch Ihre KI fragen, welcher Kandidat ausgewählt werden soll. Sie kann die Kandidaten neu anordnen, jedoch niemals einen hinzufügen, und die vorherige Version der Datei bleibt im Verlauf der Datei erhalten.
Was bedeutet es, wenn ein Test mit einem reparierten Selektor erfolgreich ist?
Das Urteil lautet AUTO_RECOVER: Der Durchlauf war erfolgreich, aber Self-Healing musste einen Selektor in diesem Test ersetzen. Es wird niemals als SECURE, dem fehlerfreien Durchlauf, gemeldet. Der vom Autor verfasste Locator funktioniert nicht mehr, und die nächste Änderung an der Seite führt zu einem echten Fehlschlag der Suite. Daher bleibt der Vorbehalt im Bericht und im Verlauf sichtbar, bis jemand den ursprünglichen Selektor korrigiert.
AUTO_RECOVER ist eines der sieben erfolgreichen Urteile, sodass ein CI-Job damit mit dem Exit-Code 0 beendet wird. Der Vorbehalt wird im Bericht aufgeführt, nicht als fehlerhafter Build. Die vollständige Reihenfolge der Prüfungen finden Sie unter How Nexus Studio decides 14 test verdicts.
Wie kann ich schwache Selektoren finden, bevor sie fehlschlagen?
- Locator health listet die schwachen Locators des geöffneten Tests samt jeweiliger Zeile auf und repariert sie über denselben Dialog wie die Zeile „Repair“.
- Selector Maps scannen eine Seite ohne KI, bewerten jeden Selektor als HIGH, MEDIUM oder LOW und speichern die Map auf Ihrem Datenträger.
- Das Vet – die sieben Prüfungen, die jeder KI-geschriebene Test bestehen muss – beinhaltet die Regel, dass der Test keine fragilen Locators enthält.
Welche Locators wählt der Recorder aus?
Der Nexus Recorder schreibt das, worauf Sie klicken, als Testcode – ganz ohne KI im Prozess. Er kann ein Test-ID-Attribut verwenden: Wenn Sie data-testid für eine JavaScript-Aufnahme wählen, liest er data-testid und auch data-qa. Python- und Selenium-Aufnahmen behalten den einen Attributnamen ihres Runners bei. Selektoren, die auf Basis dieser Attribute erstellt wurden, werden als robust eingestuft, während ein durch den Build generierter Klassenname, eine tiefe CSS-Kette und ein bloßer Tag-Name als fragil eingestuft werden.
Bleibt der Test eine Standard-Playwright- oder Selenium-Datei?
Ja. Jeder Test, den das Studio schreibt oder importiert, ist Framework-Code, den Ihr Team bereits kennt: eine Playwright-Testdatei (JavaScript, TypeScript, Python oder C#) oder Selenium (JavaScript, Python, Java oder C#). Eine Reparatur bearbeitet eine Zeile dieser Datei, sodass es kein proprietäres Format gibt, von dem Sie wegmigrieren müssten, sollten Sie das Studio nicht mehr nutzen.
Grenzen
- Self-Healing im Modus „Suggest“ repariert nichts von selbst. Eine Person gibt jede Reparatur weiterhin frei, sodass eine größere UI-Änderung nach wie vor Zeit für das Review erfordert.
- Der automatische Lesevorgang nach einem Fehler erfordert freien Arbeitsspeicher auf dem Computer. Wenn nicht genügend vorhanden ist, startet er nicht, und Sie können die Kandidaten weiterhin manuell anfordern.
- Locator Health liest die Datei Zeile für Zeile, sodass ein Locator, der über mehrere Zeilen aufgeteilt ist, nicht erkannt wird.
- Ein schwacher Locator, der dennoch funktioniert, ist kein Fehler. Locator Health weist Sie darauf hin, aber nichts zwingt Sie dazu, ihn zu ändern.
Wo kann ich es in Aktion sehen?
Die Studio-Tour zeigt die Repair-Zeile und Locator Health auf dem Bildschirm, der Leitfaden zu den Verdicts erklärt AUTO_RECOVER neben den anderen 13 Verdicts, und die 30-Tage-Testversion führt dieselbe Engine mit Ihren eigenen Tests aus.