Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. Selenium2Driver.php

function Selenium2Driver::setDesiredCapabilities

Sets the desired capabilities - called on construction. If null is provided, will set the defaults as desired.

See http://code.google.com/p/selenium/wiki/DesiredCapabilities

Parameters

array|null $desiredCapabilities an array of capabilities to pass on to the WebDriver server:

Return value

void

Throws

DriverException

1 call to Selenium2Driver::setDesiredCapabilities()
Selenium2Driver::__construct in vendor/lullabot/mink-selenium2-driver/src/Selenium2Driver.php
Instantiates the driver.

File

vendor/lullabot/mink-selenium2-driver/src/Selenium2Driver.php, line 112

Class

Selenium2Driver
Selenium2 driver.

Namespace

Behat\Mink\Driver

Code

public function setDesiredCapabilities(?array $desiredCapabilities = null) {
    if ($this->started) {
        throw new DriverException("Unable to set desiredCapabilities, the session has already started");
    }
    if (null === $desiredCapabilities) {
        $desiredCapabilities = array();
    }
    // Join $desiredCapabilities with defaultCapabilities
    $desiredCapabilities = array_replace(self::getDefaultCapabilities(), $desiredCapabilities);
    if (isset($desiredCapabilities['firefox'])) {
        foreach ($desiredCapabilities['firefox'] as $capability => $value) {
            switch ($capability) {
                case 'profile':
                    $fileContents = file_get_contents($value);
                    if ($fileContents === false) {
                        throw new DriverException(sprintf('Could not read the profile file "%s".', $value));
                    }
                    $desiredCapabilities['firefox_' . $capability] = base64_encode($fileContents);
                    break;
                default:
                    $desiredCapabilities['firefox_' . $capability] = $value;
            }
        }
        unset($desiredCapabilities['firefox']);
    }
    // See https://sites.google.com/a/chromium.org/chromedriver/capabilities
    if (isset($desiredCapabilities['chrome'])) {
        $chromeOptions = isset($desiredCapabilities['goog:chromeOptions']) && is_array($desiredCapabilities['goog:chromeOptions']) ? $desiredCapabilities['goog:chromeOptions'] : array();
        foreach ($desiredCapabilities['chrome'] as $capability => $value) {
            if ($capability == 'switches') {
                $chromeOptions['args'] = $value;
            }
            else {
                $chromeOptions[$capability] = $value;
            }
            $desiredCapabilities['chrome.' . $capability] = $value;
        }
        $desiredCapabilities['goog:chromeOptions'] = $chromeOptions;
        unset($desiredCapabilities['chrome']);
    }
    $this->desiredCapabilities = $desiredCapabilities;
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal