3 namespace Drupal\FunctionalJavascriptTests;
5 use Behat\Mink\Driver\Selenium2Driver;
6 use WebDriver\ServiceFactory;
9 * Provides a driver for Selenium testing.
11 class DrupalSelenium2Driver extends Selenium2Driver {
16 public function __construct($browserName = 'firefox', $desiredCapabilities = NULL, $wdHost = 'http://localhost:4444/wd/hub') {
17 parent::__construct($browserName, $desiredCapabilities, $wdHost);
18 ServiceFactory::getInstance()->setServiceClass('service.curl', WebDriverCurlService::class);
24 public function setCookie($name, $value = NULL) {
25 if ($value === NULL) {
26 $this->getWebDriverSession()->deleteCookie($name);
32 'value' => urlencode($value),
34 // Unlike \Behat\Mink\Driver\Selenium2Driver::setCookie we set a domain
35 // and an expire date, as otherwise cookies leak from one test site into
37 'domain' => parse_url($this->getWebDriverSession()->url(), PHP_URL_HOST),
38 'expires' => time() + 80000,
41 $this->getWebDriverSession()->setCookie($cookieArray);