Selenium / capybara - Firefox profile cannot be downloaded

When I run tests using selenium, browsers pop up repeatedly, stating that the firefox profile cannot be found. I have a prepared Firefox profile for use with selenium. I'm just not sure how to tell selenium where this profile is located.

How to tell Selenium which Firefox profile to use?

+5
source share
4 answers

I was getting the same error. It turned out to me that there were calls in my test save_and_open_pagethat caused the problem. I deleted those and Firefox profile errors.

Firefox capybara/selenium, , , , Firefox.

. , , .

1: (, Firefox.)

test_helper.rb :

Capybara.register_driver :my_firefox_driver do |app|
  Capybara::Selenium::Driver.new(app, :browser => :firefox, :profile => 'name_of_existing_profile')
end

2: ( , Firefox.)

helper.rb :

require 'selenium-webdriver'

...

  Capybara.register_driver :my_firefox_driver do |app|
    profile = Selenium::WebDriver::Firefox::Profile.new
    Capybara::Selenium::Driver.new(app, :browser => :firefox, :profile => profile)
  end

, , , Capybara.current_driver = :my_firefox_driver , test_helper.rb Capybara.use_default_driver, , .

+4

Ruby , .

Firefox -p, . . "firefox_profile". Selenium , , , layout_on_disk:

module Selenium
  module WebDriver
    module Firefox
      class Profile
        def layout_on_disk
          firefox_profile = File.expand_path(File.join(File.dirname(__FILE__),'firefox_profile'))
          profile_dir = create_tmp_copy(firefox_profile)
          FileReaper << profile_dir

          install_extensions(profile_dir)
          delete_lock_files(profile_dir)
          delete_extensions_cache(profile_dir)
          update_user_prefs_in(profile_dir)

          puts "Using temporary Firefox profile in: #{profile_dir} from #{firefox_profile}"
          profile_dir
        end
      end
    end
  end
end

Gist

+1

, Firefox. path Ghostdriver, PhantomJS, Selenium, FirefoxDriver ( , ). Ghostdriver PhantomJS . , , , , - . :

NoSuchMethodError: org.openqa.selenium.os.CommandLine.waitFor(J) V

0

Firefox.

I opened Firefox manually to allow it to apply updates, after which the tests worked afterwards.

0
source

All Articles