Mercurial > hg > isophonics-drupal-site
comparison vendor/instaclick/php-webdriver/lib/WebDriver/WebDriver.php @ 14:1fec387a4317
Update Drupal core to 8.5.2 via Composer
author | Chris Cannam |
---|---|
date | Mon, 23 Apr 2018 09:46:53 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
13:5fb285c0d0e3 | 14:1fec387a4317 |
---|---|
1 <?php | |
2 /** | |
3 * Copyright 2004-2017 Facebook. All Rights Reserved. | |
4 * | |
5 * Licensed under the Apache License, Version 2.0 (the "License"); | |
6 * you may not use this file except in compliance with the License. | |
7 * You may obtain a copy of the License at | |
8 * | |
9 * http://www.apache.org/licenses/LICENSE-2.0 | |
10 * | |
11 * Unless required by applicable law or agreed to in writing, software | |
12 * distributed under the License is distributed on an "AS IS" BASIS, | |
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
14 * See the License for the specific language governing permissions and | |
15 * limitations under the License. | |
16 * | |
17 * @package WebDriver | |
18 * | |
19 * @author Justin Bishop <jubishop@gmail.com> | |
20 * @author Anthon Pang <apang@softwaredevelopment.ca> | |
21 */ | |
22 | |
23 namespace WebDriver; | |
24 | |
25 /** | |
26 * WebDriver class | |
27 * | |
28 * @package WebDriver | |
29 * | |
30 * @method status | |
31 */ | |
32 class WebDriver extends AbstractWebDriver implements WebDriverInterface | |
33 { | |
34 /** | |
35 * {@inheritdoc} | |
36 */ | |
37 protected function methods() | |
38 { | |
39 return array( | |
40 'status' => 'GET', | |
41 ); | |
42 } | |
43 | |
44 /** | |
45 * {@inheritdoc} | |
46 */ | |
47 public function session($requiredCapabilities = Browser::FIREFOX, $desiredCapabilities = array()) | |
48 { | |
49 // for backwards compatibility when the only required capability was browser name | |
50 if (! is_array($requiredCapabilities)) { | |
51 $desiredCapabilities[Capability::BROWSER_NAME] = $requiredCapabilities ?: Browser::FIREFOX; | |
52 | |
53 $requiredCapabilities = array(); | |
54 } | |
55 | |
56 // required | |
57 $parameters = array( | |
58 'desiredCapabilities' => array_merge($desiredCapabilities, $requiredCapabilities) | |
59 ); | |
60 | |
61 // optional | |
62 if (! empty($requiredCapabilities)) { | |
63 $parameters['requiredCapabilities'] = $requiredCapabilities; | |
64 } | |
65 | |
66 $result = $this->curl( | |
67 'POST', | |
68 '/session', | |
69 $parameters, | |
70 array(CURLOPT_FOLLOWLOCATION => true) | |
71 ); | |
72 | |
73 return new Session($result['sessionUrl']); | |
74 } | |
75 | |
76 /** | |
77 * {@inheritdoc} | |
78 */ | |
79 public function sessions() | |
80 { | |
81 $result = $this->curl('GET', '/sessions'); | |
82 $sessions = array(); | |
83 | |
84 foreach ($result['value'] as $session) { | |
85 $sessions[] = new Session($this->url . '/session/' . $session['id']); | |
86 } | |
87 | |
88 return $sessions; | |
89 } | |
90 } |