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
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\DriverCode
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;
}