Traje de prueba independiente de Laravel Dusk, que no requiere el marco de Laravel en sí.
Laravel Dusk proporciona una API de prueba y automatización del navegador expresiva y fácil de usar. De forma predeterminada, Dusk no requiere que instales JDK o Selenium en tu máquina. En cambio, Dusk utiliza un controlador Chrome independiente. Sin embargo, puede utilizar cualquier otro controlador Selenium que desee.
Para comenzar, debes agregar la dependencia unglud/dusker Composer a tu proyecto:
composer require --dev unglud/dusker
A continuación, debe copiar todos los archivos necesarios a su directorio de trabajo. El siguiente comando lo hará por usted. Crea (o usa) un directorio tests
existente y coloca archivos allí. Además, copia la utilidad de la consola artisan
en el directorio raíz de su proyecto. Si ya tiene este archivo, ¡se sobrescribirá!
El archivo .env.dusk
también estará en la raíz de su proyecto, por lo que deberá cambiarle el nombre a .env
o copiar su contenido al existente.
composer run-script post-install-cmd -d ./vendor/unglud/dusker
Si desea que estos archivos se actualicen automáticamente cada vez que actualice este paquete, puede agregar esto a su archivo composer.json
:
"scripts": { "post-install-cmd": [ "DuskerCopyFile::copy" ], "post-update-cmd": [ "DuskerCopyFile::copy" ] }, "extra": { "copy-file": { "vendor/unglud/dusker/src/example/": "tests/", "vendor/unglud/dusker/artisan": "artisan" } }
Como notará, el archivo .env.dusk
no está incluido allí para simplificar las cosas.
Después de instalar el paquete, los comandos de Artisan estarán disponibles desde su proyecto raíz. Ejecute el comando dusk:install
Artisan:
php artisan dusk:install
Ahora intenta ejecutar la prueba para asegurarte de que todo funciona.
php artisan dusk
Después de esta parte, puedes usar la documentación oficial de Dusk en el sitio web de Laravel, porque funcionará exactamente como fue diseñado por Taylor Otwell.
A menudo, probará páginas que requieren autenticación. Puede utilizar el método loginAs de Dusk para evitar interactuar con la pantalla de inicio de sesión durante cada prueba. El método loginAs acepta un login
de usuario y password
:
$this->browse(function (Browser $browser) { $browser->loginAs('username', 'password') ->visit('/home'); });
Después de utilizar el método loginAs, la sesión del usuario se mantendrá para todas las pruebas dentro del archivo.
Como no tenemos acceso a Auth
y Router
nativos de Laravel, debido a que los usamos sin Laravel, necesitamos configurar la funcionalidad de inicio de sesión. En .env
debe especificar LOGIN_ENDPOINT
: ruta a su directorio público donde Dusker copiará el archivo al que se podrá acceder desde un navegador. Por defecto es http://example.com/_dusker/login.php
. Segundo LOGIN_IMPLEMENTATION
: ruta a su clase, que utiliza la lógica de su proyecto permitiendo la autenticación. Puede utilizar /tests/LoginManagerExample.php
como ejemplo de cómo debería verse.
Dusker se publica bajo la licencia MIT. Consulte el archivo de LICENCIA incluido para obtener más detalles.