table of contents
Selenium::Firefox::Profile(3) | User Contributed Perl Documentation | Selenium::Firefox::Profile(3) |
NAME¶
Selenium::Firefox::Profile - Use custom profiles with Selenium::Remote::Driver
VERSION¶
version 1.49
DESCRIPTION¶
You can use this module to create a custom Firefox Profile for your Selenium tests. Currently, you can set browser preferences and add extensions to the profile before passing it in the constructor for a new Selenium::Remote::Driver or Selenium::Firefox.
SYNPOSIS¶
use Selenium::Remote::Driver; use Selenium::Firefox::Profile; my $profile = Selenium::Firefox::Profile->new; $profile->set_preference( 'browser.startup.homepage' => 'http://www.google.com', 'browser.cache.disk.capacity' => 358400 ); $profile->set_boolean_preference( 'browser.shell.checkDefaultBrowser' => 0 ); $profile->add_extension('t/www/redisplay.xpi'); my $driver = Selenium::Remote::Driver->new( 'firefox_profile' => $profile ); $driver->get('http://www.google.com'); print $driver->get_title();
CONSTRUCTOR¶
new (%args)¶
profile_dir - <string> directory to look for the firefox profile. Defaults to a Tempdir.
METHODS¶
set_preference¶
Set string and integer preferences on the profile object. You can set multiple preferences at once. If you need to set a boolean preference, either use JSON::true/JSON::false, or see "set_boolean_preference()".
$profile->set_preference("quoted.integer.pref" => '"20140314220517"'); # user_pref("quoted.integer.pref", "20140314220517"); $profile->set_preference("plain.integer.pref" => 9005); # user_pref("plain.integer.pref", 9005); $profile->set_preference("string.pref" => "sample string value"); # user_pref("string.pref", "sample string value");
set_boolean_preference¶
Set preferences that require boolean values of 'true' or 'false'. You can set multiple preferences at once. For string or integer preferences, use "set_preference()".
$profile->set_boolean_preference("false.pref" => 0); # user_pref("false.pref", false); $profile->set_boolean_preference("true.pref" => 1); # user_pref("true.pref", true);
get_preference¶
Retrieve the computed value of a preference. Strings will be double quoted and boolean values will be single quoted as "true" or "false" accordingly.
$profile->set_boolean_preference("true.pref" => 1); print $profile->get_preference("true.pref") # true $profile->set_preference("string.pref" => "an extra set of quotes"); print $profile->get_preference("string.pref") # "an extra set of quotes"
add_extension¶
Add an existing ".xpi" to the profile by providing its path. This only works with packaged ".xpi" files, not plain/un-packed extension directories.
$profile->add_extension('t/www/redisplay.xpi');
add_webdriver¶
Primarily for internal use, we set the appropriate firefox preferences for a new geckodriver session.
add_webdriver_xpi¶
Primarily for internal use. This adds the fxgoogle .xpi that is used for webdriver communication in FF47 and older. For FF48 and newer, the old method using an extension to orchestrate the webdriver communication with the Firefox browser has been obsoleted by the introduction of "geckodriver".
add_marionette¶
Primarily for internal use, configure Marionette to the current Firefox profile.
SEE ALSO¶
http://kb.mozillazine.org/About:config_entries https://developer.mozilla.org/en-US/docs/Mozilla/Preferences/A_brief_guide_to_Mozilla_preferences
AUTHORS¶
Current Maintainers:
- •
- George S. Baugh <george@troglodyne.net>
Previous maintainers:
- Daniel Gempesaw <gempesaw@gmail.com>
- Emmanuel Peroumalnaïk <peroumalnaik.emmanuel@gmail.com>
- Luke Closs <cpan@5thplane.com>
- Mark Stosberg <mark@stosberg.com>
Original authors:
- •
- Aditya Ivaturi <ivaturi@gmail.com>
COPYRIGHT AND LICENSE¶
Copyright (c) 2010-2011 Aditya Ivaturi, Gordon Child
Copyright (c) 2014-2017 Daniel Gempesaw
Copyright (c) 2018-2021 George S. Baugh
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2023-04-07 | perl v5.26.1 |