X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=vendor%2Finstaclick%2Fphp-webdriver%2Flib%2FWebDriver%2FWebDriver.php;fp=vendor%2Finstaclick%2Fphp-webdriver%2Flib%2FWebDriver%2FWebDriver.php;h=0c34dcf26f78e39277d7834c67b6f2739ae30d83;hp=0000000000000000000000000000000000000000;hb=1270d9129ce8f27c9b28b10518e32132c58e0aca;hpb=c27c0f0cdaa3f354b1fe54a56ae7e854be6e3f68 diff --git a/vendor/instaclick/php-webdriver/lib/WebDriver/WebDriver.php b/vendor/instaclick/php-webdriver/lib/WebDriver/WebDriver.php new file mode 100644 index 000000000..0c34dcf26 --- /dev/null +++ b/vendor/instaclick/php-webdriver/lib/WebDriver/WebDriver.php @@ -0,0 +1,90 @@ + + * @author Anthon Pang + */ + +namespace WebDriver; + +/** + * WebDriver class + * + * @package WebDriver + * + * @method status + */ +class WebDriver extends AbstractWebDriver implements WebDriverInterface +{ + /** + * {@inheritdoc} + */ + protected function methods() + { + return array( + 'status' => 'GET', + ); + } + + /** + * {@inheritdoc} + */ + public function session($requiredCapabilities = Browser::FIREFOX, $desiredCapabilities = array()) + { + // for backwards compatibility when the only required capability was browser name + if (! is_array($requiredCapabilities)) { + $desiredCapabilities[Capability::BROWSER_NAME] = $requiredCapabilities ?: Browser::FIREFOX; + + $requiredCapabilities = array(); + } + + // required + $parameters = array( + 'desiredCapabilities' => array_merge($desiredCapabilities, $requiredCapabilities) + ); + + // optional + if (! empty($requiredCapabilities)) { + $parameters['requiredCapabilities'] = $requiredCapabilities; + } + + $result = $this->curl( + 'POST', + '/session', + $parameters, + array(CURLOPT_FOLLOWLOCATION => true) + ); + + return new Session($result['sessionUrl']); + } + + /** + * {@inheritdoc} + */ + public function sessions() + { + $result = $this->curl('GET', '/sessions'); + $sessions = array(); + + foreach ($result['value'] as $session) { + $sessions[] = new Session($this->url . '/session/' . $session['id']); + } + + return $sessions; + } +}