annotate core/tests/Drupal/FunctionalJavascriptTests/DrupalSelenium2Driver.php @ 17:129ea1e6d783
Update, including to Drupal core 8.6.10
author |
Chris Cannam |
date |
Thu, 28 Feb 2019 13:21:36 +0000 |
parents |
1fec387a4317 |
children |
af1871eacc83 |
rev |
line source |
Chris@14
|
1 <?php
|
Chris@14
|
2
|
Chris@14
|
3 namespace Drupal\FunctionalJavascriptTests;
|
Chris@14
|
4
|
Chris@14
|
5 use Behat\Mink\Driver\Selenium2Driver;
|
Chris@17
|
6 use WebDriver\ServiceFactory;
|
Chris@14
|
7
|
Chris@14
|
8 /**
|
Chris@14
|
9 * Provides a driver for Selenium testing.
|
Chris@14
|
10 */
|
Chris@14
|
11 class DrupalSelenium2Driver extends Selenium2Driver {
|
Chris@14
|
12
|
Chris@14
|
13 /**
|
Chris@14
|
14 * {@inheritdoc}
|
Chris@14
|
15 */
|
Chris@17
|
16 public function __construct($browserName = 'firefox', $desiredCapabilities = NULL, $wdHost = 'http://localhost:4444/wd/hub') {
|
Chris@17
|
17 parent::__construct($browserName, $desiredCapabilities, $wdHost);
|
Chris@17
|
18 ServiceFactory::getInstance()->setServiceClass('service.curl', WebDriverCurlService::class);
|
Chris@17
|
19 }
|
Chris@17
|
20
|
Chris@17
|
21 /**
|
Chris@17
|
22 * {@inheritdoc}
|
Chris@17
|
23 */
|
Chris@14
|
24 public function setCookie($name, $value = NULL) {
|
Chris@14
|
25 if ($value === NULL) {
|
Chris@14
|
26 $this->getWebDriverSession()->deleteCookie($name);
|
Chris@14
|
27 return;
|
Chris@14
|
28 }
|
Chris@14
|
29
|
Chris@14
|
30 $cookieArray = [
|
Chris@14
|
31 'name' => $name,
|
Chris@14
|
32 'value' => urlencode($value),
|
Chris@14
|
33 'secure' => FALSE,
|
Chris@14
|
34 // Unlike \Behat\Mink\Driver\Selenium2Driver::setCookie we set a domain
|
Chris@14
|
35 // and an expire date, as otherwise cookies leak from one test site into
|
Chris@14
|
36 // another.
|
Chris@14
|
37 'domain' => parse_url($this->getWebDriverSession()->url(), PHP_URL_HOST),
|
Chris@14
|
38 'expires' => time() + 80000,
|
Chris@14
|
39 ];
|
Chris@14
|
40
|
Chris@14
|
41 $this->getWebDriverSession()->setCookie($cookieArray);
|
Chris@14
|
42 }
|
Chris@14
|
43
|
Chris@14
|
44 }
|