Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Set desired capabilities for firefox #175

Open
TugcaEker opened this issue Jul 25, 2014 · 8 comments
Open

Set desired capabilities for firefox #175

TugcaEker opened this issue Jul 25, 2014 · 8 comments

Comments

@TugcaEker
Copy link

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)

@aik099
Copy link
Member

aik099 commented Jul 25, 2014

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.

@TugcaEker
Copy link
Author

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

@TugcaEker
Copy link
Author

Do you have any idea to set image loadings enable/disable?

@aik099
Copy link
Member

aik099 commented Jul 27, 2014

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.

@TugcaEker
Copy link
Author

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.

@stof
Copy link
Member

stof commented Aug 13, 2014

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),
        ),
    )
);

@stof
Copy link
Member

stof commented Aug 13, 2014

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.

@kl3ryk
Copy link

kl3ryk commented May 11, 2015

@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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants