Set desired capabilities for firefox
I couldn't add capability to firefox driver. I added proxy option for connection but I couldn't set 'permissions.default.image' as '2'. Briefly, I want to disable image loading while test continue. What am I doing wrong?
$driver = new \Behat\Mink\Driver\Selenium2Driver(
'firefox',
array(
"proxy" => array(
"proxyType" => "manual",
"httpProxy" => Core::selectProxy(),
),
"permissions.default.image" => 2
)
);
(also I'm tried to send it as array)
Could you post links to some documentation about WebDriver + Firefox + Desired Capabilities.
Also what proxy stuff is doing there? First time I see that one.
Core::selectProxy() is a function which can choose one of my proxies from the list. You can look through, https://code.google.com/p/selenium/wiki/DesiredCapabilities
Do you have any idea to set image loadings enable/disable?
Googling a bit about the subject reveals topics, where people do this by changing Firefox profile. I guess there is no such desired capability that you're talking about after all.
I found these two links. But I couldn't apply them. http://stackoverflow.com/questions/24031961/phpunit-selenium-how-to-set-firefox-aboutconfig-options http://girliemangalo.wordpress.com/2009/02/05/creating-firefox-profile-for-your-selenium-rc-tests/
Also, you can see "permissions.default.image" if you type "about:config" in Firefox.
Well, Selenium2 capabilities don't allow to define each Firefox setting separately. There is a single capability for setting the profile, which is something in base64 (but the Selenium documentation only has TODO: Document format about what should go inside this base64-encoded string).
Once you figure what goes inside, this can be configured this way:
$driver = new \Behat\Mink\Driver\Selenium2Driver(
'firefox',
array(
'firefox' => array(
'profile' => base64_encode($profile),
),
)
);
hmm, actually no. If you have the string content, you should set the firefox_profile key in the capabilities directly. the profile key inside firefox expects a path to a Firefox profile, and it will handle base64-encoding its content.
@TugcaEker profile should be zipped with prefs.js in root of the archive and then you can set it as follows::
$this->driver->setDesiredCapabilities([
'firefox' => [
'profile' => 'foo\testProfile.zip',
]
]);
or you can set it like @stof mentoioned using firefox_profile key:
$this->driver->setDesiredCapabilities([
'firefox_profile' => 'base64 of zipped profile'
]);
The first metod is just a sugar for the second one. You can find it here: https://github.com/minkphp/MinkSelenium2Driver/blob/master/src/Selenium2Driver.php#L111