Ersetz feste Wartezeiten

Modul 1: Mit KI testen und beweisen, dass jeder Test funktioniert

Kursübersicht

Kurzer Check

Rate zuerst, ohne Punktabzug. Ein von der KI geschriebener Test pausiert mit page.waitForTimeout(3000), bevor er die Summe prüft. Etwa einmal pro Woche scheitert er in der CI. Was ist die beste Lösung?

Warte auf die Bedingung, nicht auf die Uhr

Ein wackeliger Test (flaky test) läuft beim selben Code mal durch und mal nicht. In der CI (Continuous Integration, das System, das deine Tests bei jeder Änderung ausführt) schaden wackelige Tests am meisten. KI-Tools fügen oft feste Pausen ein, weil Pausen so aussehen, als lösten sie Timing-Probleme.

Playwright hat das Warten eingebaut. Laut seiner Doku zur Actionability „wartet es automatisch, bis alle relevanten Prüfungen bestanden sind, und führt erst dann die gewünschte Aktion aus“, zum Beispiel bis das Element sichtbar und aktiviert ist. Seine Doku zu Assertions beschreibt automatisch wiederholende Assertions, die es erneut versuchen, bis sie bestehen oder in ein Timeout laufen. Standardmäßig liegt das Timeout für Assertions bei 5 Sekunden. Die Doku warnt außerdem, dass „nicht wiederholende Assertions zu einem wackeligen Test führen können“.

Die Lösung ist also, die Pause zu löschen und mit await auf eine automatisch wiederholende Assertion für das zu warten, worauf du wartest.

Ein Beispiel

Vorher (wackelig):
  await page.getByRole('button', { name: 'Apply' }).click();
  await page.waitForTimeout(3000);
  expect(await page.getByTestId('cart-total').textContent()).toBe('$45.00');

Nachher:
  await page.getByRole('button', { name: 'Apply' }).click();
  await expect(page.getByTestId('cart-total')).toHaveText('$45.00');

Lücken füllen

Füll die Lücken.

Lösung

Lösch und nutz , das .

Probier es aus

Deine Schritte, etwa 1 Minuten

0 von 1
  1. 1.Durchsuch deine Testsuite nach waitForTimeout und ersetz eine Stelle durch eine automatisch wiederholende Assertion.1 Min.

Dein AI test kit ist jetzt komplett. Leg es neben deinen Testplan:

1. Testfälle aus einer Story: Fallarten, eine Tabelle und „unklare Kriterien auflisten“.
2. Grenzen: knapp darunter, am Minimum, am Maximum, knapp darüber.
3. Jeden neuen Test einmal scheitern lassen, indem du den erwarteten Wert änderst.
4. Erwartete Werte kommen aus der Regel, nie aus dem Code.
5. Keine festen Pausen: mit automatisch wiederholenden Assertions warten.

Übung

Frage 1 von 2

Wie lange versucht es eine automatisch wiederholende Assertion in Playwright standardmäßig erneut, bevor sie scheitert?

KI-Tutor

Stell Fragen zu dieser Lektion und lass dich durch die Aufgabe „Probier es aus“ begleiten. Der Tutor ist Teil von Learn Pro.

Learn Pro ansehen