addArguments( collect( [ "--window-size=1920,1080", ], )->unless( $this->hasHeadlessDisabled(), function ($items) { return $items->merge( [ "--disable-gpu", "--headless", ], ); }, )->all(), ); return RemoteWebDriver::create( env("DUSK_DRIVER_URL") ?? "http://localhost:" . env("SELENIUM_PORT"), DesiredCapabilities::chrome()->setCapability( ChromeOptions::CAPABILITY, $options, ), ); } protected function hasHeadlessDisabled(): bool { return isset($_SERVER["DUSK_HEADLESS_DISABLED"]) || isset($_ENV["DUSK_HEADLESS_DISABLED"]); } protected static function runningInDocker(): bool { return isset($_ENV["DUSK_IN_DOCKER"]) && $_ENV["DUSK_IN_DOCKER"] === "true"; } }