How to use read_generated_prefs method of Selenium.WebDriver.Firefox Package

Best Selenium code snippet using Selenium.WebDriver.Firefox.read_generated_prefs

profile_spec.rb

Source:profile_spec.rb Github

copy

Full Screen

...3  module WebDriver4    module Firefox5      describe Profile do6        let(:profile) { Profile.new }7        def read_generated_prefs(from = nil)8          prof = from || profile()9          dir = prof.layout_on_disk10          File.read(File.join(dir, 'user.js'))11        end12        it "should set additional preferences" do13          profile['foo.number'] = 12314          profile['foo.boolean'] = true15          profile['foo.string'] = "bar"16          string = read_generated_prefs17          string.should include('user_pref("foo.number", 123)')18          string.should include('user_pref("foo.boolean", true)')19          string.should include(%{user_pref("foo.string", "bar")})20        end21        it "should be serializable to JSON" do22          profile['foo.boolean'] = true23          new_profile = Profile.from_json(profile.to_json)24          string = read_generated_prefs(new_profile)25          string.should include('user_pref("foo.boolean", true)')26        end27        it "should not let user override defaults" do28          profile['app.update.enabled'] = true29          string = read_generated_prefs30          string.should include('user_pref("app.update.enabled", false)')31        end32        it "should properly handle escaped characters" do33          profile['foo'] = 'C:\\r\\n'34          string = read_generated_prefs35          string.should include('user_pref("foo", "C:\\\\r\\\\n");')36        end37        it "should let the user override some specific prefs" do38          profile["browser.startup.page"] = "http://example.com"39          string = read_generated_prefs40          string.should include(%Q{user_pref("browser.startup.page", "http://example.com")})41        end42        it "should raise an error if the value given is not a string, number or boolean" do43          lambda { profile['foo.bar'] = [] }.should raise_error(TypeError)44        end45        it "should raise an error if the value is already stringified" do46          lambda { profile['foo.bar'] = '"stringified"' }.should raise_error(ArgumentError)47        end48        it "should enable secure SSL" do49          profile.secure_ssl = true50          string = read_generated_prefs51          string.should include('user_pref("webdriver_accept_untrusted_certs", false)')52        end53        it "should disable secure SSL" do54          profile.secure_ssl = false55          string = read_generated_prefs56          string.should include('user_pref("webdriver_accept_untrusted_certs", true)')57        end58        it "should change the setting for untrusted certificate issuer" do59          profile.assume_untrusted_certificate_issuer = false60          string = read_generated_prefs61          string.should include('user_pref("webdriver_assume_untrusted_issuer", false)')62        end63        it "can configure a manual proxy" do64          proxy = Proxy.new(65            :http     => "foo:123",66            :ftp      => "bar:234",67            :ssl      => "baz:345",68            :no_proxy => "localhost"69          )70          profile.proxy = proxy71          string = read_generated_prefs72          string.should include('user_pref("network.proxy.http", "foo")')73          string.should include('user_pref("network.proxy.http_port", 123)')74          string.should include('user_pref("network.proxy.ftp", "bar")')75          string.should include('user_pref("network.proxy.ftp_port", 234)')76          string.should include('user_pref("network.proxy.ssl", "baz")')77          string.should include('user_pref("network.proxy.ssl_port", 345)')78          string.should include('user_pref("network.proxy.no_proxies_on", "localhost")')79          string.should include('user_pref("network.proxy.type", 1)')80        end81        it "can configure a PAC proxy" do82          profile.proxy = Proxy.new(:pac => "http://foo/bar.pac")83          string = read_generated_prefs84          string.should include('user_pref("network.proxy.autoconfig_url", "http://foo/bar.pac")')85          string.should include('user_pref("network.proxy.type", 2)')86        end87        it "can configure an auto-detected proxy" do88          profile.proxy = Proxy.new(:auto_detect => true)89          string = read_generated_prefs90          string.should include('user_pref("network.proxy.type", 4)')91        end92        it "should be able to use the same profile more than once" do93          profile['browser.startup.homepage'] = url_for("formPage.html")94          begin95            driver_one = WebDriver.for(:firefox, :profile => profile)96            driver_two = WebDriver.for(:firefox, :profile => profile)97          ensure98            driver_one.quit if driver_one99            driver_two.quit if driver_two100          end101        end102      end103    end # Firefox...

Full Screen

Full Screen

read_generated_prefs

Using AI Code Generation

copy

Full Screen

1search_box = driver.find_element(:name, 'q')2search_box = driver.find_element(:name, 'q')3search_box = driver.find_element(:name, 'q')4search_box = driver.find_element(:name, 'q')

Full Screen

Full Screen

read_generated_prefs

Using AI Code Generation

copy

Full Screen

1prefs = driver.read_generated_prefs('prefs.js')2prefs = Selenium::WebDriver::Firefox::Profile.new.read_generated_prefs('prefs.js')3prefs = {4}5prefs = driver.read_generated_prefs(prefs)6prefs = {

Full Screen

Full Screen

read_generated_prefs

Using AI Code Generation

copy

Full Screen

1driver.write_generated_prefs(prefs)2driver.write_prefs(prefs)3{"browser.download.manager.showWhenStarting"=>false, "browser.download.folderList"=>2, "browser.download.dir"=>"/home/selenium", "browser.helperApps.neverAsk.saveToDisk"=>"application/vnd.ms-excel, application/msword, application/pdf, text/csv, application/csv, text/comma-separated-values, text/tab-separated-values, application/octet-stream, application/zip", "browser.helperApps.alwaysAsk.force"=>false, "browser.download.manager.alertOnEXEOpen"=>false, "browser.download.manager.focusWhenStarting"=>false, "browser.download.manager.useWindow"=>false, "browser.download.manager.closeWhenDone"=>false, "browser.download.manager.showAlertOnComplete"=>false, "browser.download.manager.showAlertInterval"=>10000, "browser.download.manager.resumeOnWakeDelay"=>10000, "browser.download.manager.scanWhenDone"=>false, "browser.download.manager.retention"=>

Full Screen

Full Screen

read_generated_prefs

Using AI Code Generation

copy

Full Screen

1File.open("prefs.js", "w") do |f|2File.open("prefs.js", "w") do |f|3File.open("prefs.js", "w") do |f|4File.open("prefs.js", "w") do |f|

Full Screen

Full Screen

read_generated_prefs

Using AI Code Generation

copy

Full Screen

1search_box = driver.find_element(:name, 'q')2search_box = driver.find_element(:name, 'q')3search_box = driver.find_element(:name, 'q')4search_box = driver.find_element(:name, 'q')

Full Screen

Full Screen

read_generated_prefs

Using AI Code Generation

copy

Full Screen

1prefs = driver.read_generated_prefs('prefs.js')2prefs = Selenium::WebDriver::Firefox::Profile.new.read_generated_prefs('prefs.js')3prefs = {4}5prefs = driver.read_generated_prefs(prefs)6prefs = {

Full Screen

Full Screen

read_generated_prefs

Using AI Code Generation

copy

Full Screen

1driver.write_generated_prefs(prefs)2driver.write_prefs(prefs)3{"browser.download.manager.showWhenStarting"=>false, "browser.download.folderList"=>2, "browser.download.dir"=>"/home/selenium", "browser.helperApps.neverAsk.saveToDisk"=>"application/vnd.ms-excel, application/msword, application/pdf, text/csv, application/csv, text/comma-separated-values, text/tab-separated-values, application/octet-stream, application/zip", "browser.helperApps.alwaysAsk.force"=>false, "browser.download.manager.alertOnEXEOpen"=>false, "browser.download.manager.focusWhenStarting"=>false, "browser.download.manager.useWindow"=>false, "browser.download.manager.closeWhenDone"=>false, "browser.download.manager.showAlertOnComplete"=>false, "browser.download.manager.showAlertInterval"=>10000, "browser.download.manager.resumeOnWakeDelay"=>10000, "browser.download.manager.scanWhenDone"=>false, "browser.download.manager.retention"=>

Full Screen

Full Screen

read_generated_prefs

Using AI Code Generation

copy

Full Screen

1File.open("prefs.js", "w") do |f|2File.open("prefs.js", "w") do |f|3File.open("prefs.js", "w") do |f|4File.open("prefs.js", "w") do |f|

Full Screen

Full Screen

read_generated_prefs

Using AI Code Generation

copy

Full Screen

1search_box = driver.find_element(:name, 'q')2search_box = driver.find_element(:name, 'q')3search_box = driver.find_element(:name, 'q')4search_box = driver.find_element(:name, 'q')

Full Screen

Full Screen

read_generated_prefs

Using AI Code Generation

copy

Full Screen

1File.open("prefs.js", "w") do |f|2File.open("prefs.js", "w") do |f|3File.open("prefs.js", "w") do |f|4File.open("prefs.js", "w") do |f|

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful