php artisan | grep dusk
https://laravel.com/docs/11.x/sail#laravel-dusk
In app container add selenium as depends_on
selenium: image: 'selenium/standalone-chrome' extra_hosts: - 'host.docker.internal:host-gateway' volumes: - '/dev/shm:/dev/shm' networks: - sail
sail dusk
sail dusk --filter=testRegisterPage
sail dusk tests/Browser/RegisterTest.php
php artisan dusk:make Register
php artisan dusk:page LoginPage
When you run a test and it fail, the browser take a screenshot and save it in the screenshots directory
->screenshot('before-filling-form') -> Crea un screenshot automaticamente
->storeConsoleLog('console-log') -> Obtener logs de la en php consola del navegador
->dump() -> Regresa el html
->pause(1000) -> Espera 1 segundo y sigue con la ejecución, util para transiciones, animaciones, AJAX, etc
->whenAvailable -> Esperar 5 segunds por default a que un elemento este disponible
->click() -> Da click en un boton, puede ser clase o id , entre otros ->click('.login-page .container div > button'); ->clickLink('Create Playlist') -> Click a link
->clear('email');
->check('terms'); ->uncheck('terms');
$browser->script('document.documentElement.scrollTop = 0'); $browser->script([ 'document.body.scrollTop = 0', 'document.documentElement.scrollTop = 0', ]);
->pressAndWaitFor('Save', 1);
https://blog.logrocket.com/laravel-dusk-browser-testing-and-automation/