Skip to main content

Was ist Laravel Dusk

Laravel Dusk ist ein E2E-Testwerkzeug, das den Browser tatsächlich steuert und den gesamten Bildschirm prüft.
Standardmäßig können Sie Tests ohne separaten Selenium-Server direkt mit ChromeDriver ausführen.
Die offizielle Dokumentation empfiehlt für neue Projekte auch die Browser-Tests von Pest 4. Diese Seite ist hilfreich, wenn Sie in bestehenden Projekten Dusk nutzen oder gezielt die Dusk-API verwenden möchten.

Installation

Installieren Sie zuerst Google Chrome und dann Dusk als Dev-Abhängigkeit.
Zum Anpassen der ChromeDriver-Version:

Umgebung (.env.dusk.local)

Für Dusk-spezifische Umgebungsvariablen legen Sie im Projekt-Root eine .env.dusk.{environment} an.
Lokal also .env.dusk.local.
Während des Dusk-Laufs wird .env gesichert und der Inhalt der .env.dusk.local temporär angewendet.

Einfacher Browser-Test

Test erzeugen und mit php artisan dusk starten.
Nur fehlgeschlagene Tests wiederholen:

Beispiel

Die häufigsten Aktionen: visit(), type(), press(), assertSee().
In Dusk-Tests verwendet man nicht RefreshDatabase. Verwenden Sie wie in der offiziellen Doku beschrieben DatabaseMigrations oder DatabaseTruncation, um Daten zwischen Tests zurückzusetzen.

Page-Object-Muster

Für komplexe Seiten erleichtert dusk:page das Wartungsprofil.
In tests/Browser/Pages/Login.php definieren Sie url() und elements(), die Sie in Tests wiederverwenden.

Screenshots und Debugging

Für die Fehlersuche sind Screenshots und Konsolen-Logs wertvoll.
  • Screenshots: tests/Browser/screenshots
  • Konsolen-Logs: tests/Browser/console

Ausführung in CI (GitHub Actions)

Starten Sie in GitHub Actions ChromeDriver und den Laravel-Server, dann php artisan dusk.

Dusk-Ausführungsablauf

Offizielle Dokumentation

Laravel Dusk — Offizielle Doku

Details zu allen APIs (Warten, Assertions, Tastatur, iframes u. a.) finden Sie in der offiziellen Dokumentation.
Zuletzt geändert am 13. Juli 2026