diff --git a/src/ProcessManager/FirefoxManager.php b/src/ProcessManager/FirefoxManager.php index 7114a70a..c92ff0b4 100644 --- a/src/ProcessManager/FirefoxManager.php +++ b/src/ProcessManager/FirefoxManager.php @@ -53,19 +53,23 @@ public function start(): WebDriver $this->waitUntilReady($this->process, $url.$this->options['path'], 'firefox'); } - $capabilities = DesiredCapabilities::firefox(); - - /** @var FirefoxOptions $firefoxOptions */ - $firefoxOptions = $capabilities->getCapability(FirefoxOptions::CAPABILITY); + $firefoxOptions = []; if (isset($_SERVER['PANTHER_FIREFOX_BINARY'])) { - $firefoxOptions->setOption('binary', $_SERVER['PANTHER_FIREFOX_BINARY']); + $firefoxOptions['binary'] = $_SERVER['PANTHER_FIREFOX_BINARY']; } if ($this->arguments) { - $firefoxOptions->addArguments($this->arguments); + $firefoxOptions['args'] = $this->arguments; } + + $capabilities = DesiredCapabilities::firefox(); + $capabilities->setCapability('moz:firefoxOptions', $firefoxOptions); + // Prefer reduced motion, see https://developer.mozilla.org/fr/docs/Web/CSS/@media/prefers-reduced-motion if ($_SERVER['PANTHER_REDUCED_MOTION'] ?? false) { - $firefoxOptions->setPreference('ui.prefersReducedMotion', 'reduced'); + /** @var FirefoxOptions|array $firefoxOptions */ + $firefoxOptions = $capabilities->getCapability(FirefoxOptions::CAPABILITY) ?? []; + $firefoxOptions = $firefoxOptions instanceof FirefoxOptions ? $firefoxOptions->toArray() : $firefoxOptions; + $firefoxOptions['prefs']['ui.prefersReducedMotion'] = 'reduced'; } foreach ($this->options['capabilities'] as $capability => $value) {