1*04fd306cSNickeau<?php 2*04fd306cSNickeau 3*04fd306cSNickeaunamespace Facebook\WebDriver\Chrome; 4*04fd306cSNickeau 5*04fd306cSNickeauuse Facebook\WebDriver\Remote\Service\DriverService; 6*04fd306cSNickeau 7*04fd306cSNickeauclass ChromeDriverService extends DriverService 8*04fd306cSNickeau{ 9*04fd306cSNickeau /** 10*04fd306cSNickeau * The environment variable storing the path to the chrome driver executable. 11*04fd306cSNickeau * @deprecated Use ChromeDriverService::CHROME_DRIVER_EXECUTABLE 12*04fd306cSNickeau */ 13*04fd306cSNickeau const CHROME_DRIVER_EXE_PROPERTY = 'webdriver.chrome.driver'; 14*04fd306cSNickeau /** @var string The environment variable storing the path to the chrome driver executable */ 15*04fd306cSNickeau const CHROME_DRIVER_EXECUTABLE = 'WEBDRIVER_CHROME_DRIVER'; 16*04fd306cSNickeau /** 17*04fd306cSNickeau * @var string Default executable used when no other is provided 18*04fd306cSNickeau * @internal 19*04fd306cSNickeau */ 20*04fd306cSNickeau const DEFAULT_EXECUTABLE = 'chromedriver'; 21*04fd306cSNickeau 22*04fd306cSNickeau /** 23*04fd306cSNickeau * @return static 24*04fd306cSNickeau */ 25*04fd306cSNickeau public static function createDefaultService() 26*04fd306cSNickeau { 27*04fd306cSNickeau $pathToExecutable = getenv(self::CHROME_DRIVER_EXECUTABLE) ?: getenv(self::CHROME_DRIVER_EXE_PROPERTY); 28*04fd306cSNickeau if ($pathToExecutable === false || $pathToExecutable === '') { 29*04fd306cSNickeau $pathToExecutable = static::DEFAULT_EXECUTABLE; 30*04fd306cSNickeau } 31*04fd306cSNickeau 32*04fd306cSNickeau $port = 9515; // TODO: Get another port if the default port is used. 33*04fd306cSNickeau $args = ['--port=' . $port]; 34*04fd306cSNickeau 35*04fd306cSNickeau return new static($pathToExecutable, $port, $args); 36*04fd306cSNickeau } 37*04fd306cSNickeau} 38