baseUrl(); Browser::$storeScreenshotsAt = base_path('tests/Browser/screenshots'); Browser::$storeConsoleLogAt = base_path('tests/Browser/console'); Browser::$storeSourceAt = base_path('tests/Browser/source'); Browser::$userResolver = function () { return $this->user(); }; } /** * Create the RemoteWebDriver instance. * * @return \Facebook\WebDriver\Remote\RemoteWebDriver */ protected function driver() { return RemoteWebDriver::create( $_ENV['DUSK_DRIVER_URL'] ?? env('DUSK_DRIVER_URL') ?? 'http://localhost:9515', DesiredCapabilities::chrome() ); } /** * Determine the application's base URL. * * @return string */ protected function baseUrl() { return rtrim(config('app.url'), '/'); } /** * Return the default user to authenticate. * * @return \App\User|int|null * * @throws \Exception */ protected function user() { throw new Exception('User resolver has not been set.'); } /** * Determine whether the Dusk command has disabled headless mode. */ protected function hasHeadlessDisabled(): bool { return isset($_SERVER['DUSK_HEADLESS_DISABLED']) || isset($_ENV['DUSK_HEADLESS_DISABLED']); } /** * Determine if the browser window should start maximized. */ protected function shouldStartMaximized(): bool { return isset($_SERVER['DUSK_START_MAXIMIZED']) || isset($_ENV['DUSK_START_MAXIMIZED']); } /** * Determine if the tests are running within Laravel Sail. * * @return bool */ protected static function runningInSail() { return isset($_ENV['LARAVEL_SAIL']) && $_ENV['LARAVEL_SAIL'] == '1'; } }