Qu’est-ce que Laravel Dusk
Laravel Dusk est un outil de test E2E qui pilote un vrai navigateur pour vérifier l’écran dans son ensemble.Par défaut, il vous permet d’exécuter des tests avec ChromeDriver sans avoir à préparer un serveur Selenium séparé.
Installation
Installez d’abord Google Chrome, puis ajoutez Dusk comme dépendance de développement.dusk:chrome-driver.
Configuration d’environnement (.env.dusk.local)
Pour utiliser des variables d’environnement spécifiques à Dusk, créez un fichier .env.dusk.{environment} à la racine du projet.En environnement local, utilisez
.env.dusk.local.
.env est sauvegardé et le contenu de .env.dusk.local est temporairement appliqué.
Tests de navigateur de base
Générez un test et exécutez-le avecphp artisan dusk.
Exemple d’opérations de base
visit(), type(), press() et assertSee() sont les opérations les plus courantes avec Dusk.
Pattern Page Object
Pour tester des écrans complexes, générer un page object avecdusk:page facilite la maintenance.
tests/Browser/Pages/Login.php, définissez url() et elements(), puis réutilisez-les dans le test.
Captures d’écran et débogage
Pour analyser les échecs, sauvegarder des captures d’écran et les logs de la console est très utile.- Captures d’écran :
tests/Browser/screenshots - Logs de console :
tests/Browser/console
Exécution en CI (GitHub Actions)
Sur GitHub Actions, démarrez ChromeDriver et le serveur intégré de Laravel avant d’exécuterphp artisan dusk.
Flux d’exécution de Dusk
Documentation officielle
Laravel Dusk — Documentation officielle
Consultez l’API complète de Dusk (attentes, assertions, clavier, iframes, etc.) dans la documentation officielle.