nunomaduro/laravel-console-dusk

Laravel Console Dusk allows the usage of Laravel Dusk in Laravel/Laravel Zero artisan commands.
58,150 163
Install
composer require nunomaduro/laravel-console-dusk
Latest Version:v1.15.0
PHP:^8.2
License:MIT
Last Updated:Apr 22, 2026
Links: GitHub  ·  Packagist
Maintainer: nunomaduro

About Laravel Console Dusk

Laravel Console Dusk was created by, and is maintained by Nuno Maduro, and allows the usage of Laravel Dusk in Laravel/Laravel Zero artisan commands.

Installation

Requires PHP 8.2+

Require Laravel Console Dusk using Composer:

composer require nunomaduro/laravel-console-dusk

The package provide a config file that allows you to configure some options.

return [
    /*
    |--------------------------------------------------------------------------
    | Laravel Console Dusk Paths
    |--------------------------------------------------------------------------
    |
    | Here you may configure the name of screenshots and logs directory as you wish.
    */
    'paths' => [
        'screenshots' => storage_path('laravel-console-dusk/screenshots'),
        'log'         => storage_path('laravel-console-dusk/log'),
    ],

    /*
    | --------------------------------------------------------------------------
    | Headless Mode
    | --------------------------------------------------------------------------
    |
    | When false it will show a Chrome window while running. Within production
    | it will be forced to run in headless mode.
    */
    'headless' => true,

    /*
    | --------------------------------------------------------------------------
    | Driver Configuration
    | --------------------------------------------------------------------------
    |
    | Here you may pass options to the browser driver being automated.
    |
    | A list of available Chromium command line switches is available at
    | https://peter.sh/experiments/chromium-command-line-switches/
    */
    'driver' => [
        'chrome' => [
            'options' => [
                '--disable-gpu',
            ],
        ],
    ],
];

You can publish the config file using the following artisan command:

php artisan vendor:publish --provider="NunoMaduro\LaravelConsoleDusk\LaravelConsoleDuskServiceProvider" --tag="config"

Usage

class VisitLaravelZeroCommand extends Command
{
    /**
     * Execute the console command.
     *
     * @return void
     */
    public function handle()
    {
        $this->browse(function ($browser) {
            $browser->visit('http://laravel-zero.com')
                ->assertSee('100% Open Source');
        });
    }
}

Check how use Laravel Dusk here.

Contributing

Thank you for considering to contribute to Laravel Console Dusk. All the contribution guidelines are mentioned here.

You can have a look at the CHANGELOG for constant updates & detailed information about the changes. You can also follow the twitter account for latest announcements or just come say hi!: @enunomaduro

Support the development

Do you like this project? Support it by donating

License

Laravel Console Dusk is an open-sourced software licensed under the MIT license.