/** * @param array $parameters * @return BrowserSession */ public function create(array $parameters = array()) { $parameters += $this->defaults; $seleniumServerUrl = \PHPUnit_Extensions_Selenium2TestCase_URL::fromHostAndPort($parameters['host'], $parameters['port']); $driver = new \PHPUnit_Extensions_Selenium2TestCase_Driver($seleniumServerUrl, $parameters['seleniumServerRequestsTimeout']); $capabilities = array_merge($parameters['desiredCapabilities'], array('browserName' => $parameters['browserName'])); $sessionCreation = $seleniumServerUrl->descend("/wd/hub/session"); $response = $driver->curl('POST', $sessionCreation, array('desiredCapabilities' => $capabilities)); $sessionPrefix = $response->getURL(); $timeouts = new \PHPUnit_Extensions_Selenium2TestCase_Session_Timeouts($driver, $sessionPrefix->descend('timeouts'), $parameters['seleniumServerRequestsTimeout'] * 1000); return new BrowserSession($this->sl, $driver, $sessionPrefix, $parameters, $timeouts); }
/** * @param \Nette\DI\Container $context */ public function __construct(\Nette\DI\Container $context) { $this->context = $context; $seleniumServerUrl = new \PHPUnit_Extensions_Selenium2TestCase_URL($context->parameters['selenium']['seleniumServer']); $driver = new \PHPUnit_Extensions_Selenium2TestCase_Driver($seleniumServerUrl); $sessionCreationApiUrl = $seleniumServerUrl->descend("/wd/hub/session"); $sessionCreationResponse = $driver->curl('POST', $sessionCreationApiUrl, array('desiredCapabilities' => $context->parameters['selenium']['desiredCapabilities'])); $sessionApiUrl = $sessionCreationResponse->getUrl(); $baseUrl = new \PHPUnit_Extensions_Selenium2TestCase_URL($context->parameters['selenium']['baseUrl']); $timeouts = new \PHPUnit_Extensions_Selenium2TestCase_Session_Timeouts($driver, $sessionApiUrl->descend('timeouts'), 60 * 1000); parent::__construct($driver, $sessionApiUrl, $baseUrl, $timeouts); }
private function postCommand($name, PHPUnit_Extensions_Selenium2TestCase_ElementCriteria $criteria) { $response = $this->driver->curl('POST', $this->url->addCommand($name), $criteria->getArrayCopy()); return $response->getValue(); }