Skip to content

appstract/laravel-dusk-safari

Repository files navigation

Run Dusk tests in Safari

Latest Version on Packagist Total Downloads Software License Build Status

This package allows you to use the built-in Safari WebDriver of macOS, so you don't need Selenium to run Dusk tests in Safari.

This requires Safari 10 or higher.

Installation

You can install the package via composer:

composer require appstract/laravel-dusk-safari

Usage

Make sure to enable Remote Automation in the Safari menu bar:

Develop > Allow Remote Automation.

Add the SupportsSafari trait to your DuskTestCase:

use  Appstract\DuskDrivers\Safari\SupportsSafari;

abstract class DuskTestCase extends BaseTestCase
{
    use CreatesApplication, SupportsSafari;
}

Now you can start the server in the prepare method:

public static function prepare()
{
    static::startSafariDriver();
}

Instruct Dusk to use Safari by changing DesiredCapabilities::chrome() to DesiredCapabilities::safari() in the Driver method:

protected function driver()
{
    return RemoteWebDriver::create(
        'http://localhost:9515', DesiredCapabilities::safari()
    );
}

Contributing

Contributions are welcome, thanks to y'all :)

About Appstract

Appstract is a small team from The Netherlands. We create (open source) tools for webdevelopment and write about related subjects on Medium. You can follow us on Twitter, buy us a beer or support us on Patreon.

License

The MIT License (MIT). Please see License File for more information.