WebDriver.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. // Copyright 2004-present Facebook. All Rights Reserved.
  3. //
  4. // Licensed under the Apache License, Version 2.0 (the "License");
  5. // you may not use this file except in compliance with the License.
  6. // You may obtain a copy of the License at
  7. //
  8. // http://www.apache.org/licenses/LICENSE-2.0
  9. //
  10. // Unless required by applicable law or agreed to in writing, software
  11. // distributed under the License is distributed on an "AS IS" BASIS,
  12. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. // See the License for the specific language governing permissions and
  14. // limitations under the License.
  15. final class WebDriver extends WebDriverBase {
  16. protected function methods() {
  17. return array(
  18. 'status' => 'GET',
  19. );
  20. }
  21. public function session(
  22. $browser = 'firefox',
  23. $additional_capabilities = array()) {
  24. $desired_capabilities = array_merge(
  25. $additional_capabilities,
  26. array('browserName' => $browser));
  27. $results = $this->curl(
  28. 'POST',
  29. '/session',
  30. array('desiredCapabilities' => $desired_capabilities),
  31. array(CURLOPT_FOLLOWLOCATION => true));
  32. return new WebDriverSession($results['info']['url']);
  33. }
  34. public function sessions() {
  35. $result = $this->curl('GET', '/sessions');
  36. $sessions = array();
  37. foreach ($result['value'] as $session) {
  38. $sessions[] = new WebDriverSession(
  39. $this->url . '/session/' . $session['id']);
  40. }
  41. return $sessions;
  42. }
  43. }