gosugod
@gosugod
Фулл-стэк на Реакте и Рельсах :)

Почему Selenium Webdriver (Rails) не видит firefox?

Всем привет. Хочу тестировать интерфейс, и почему-то селениум считает что "/usr/bin/firefox" не является файлом.
rails_helper

require "spec_helper"

ENV["RAILS_ENV"] ||= "test"
require File.expand_path("../config/environment", __dir__)

abort("The Rails environment is running in production mode!") if Rails.env.production?
require "rspec/rails"
Dir[Rails.root.join("spec/support/**/*.rb")].sort.each { |f| require f }

require "capybara/rails"

require "selenium/webdriver"

Selenium::WebDriver::Firefox::Binary.path = "/usr/bin/firefox"

begin
  ActiveRecord::Migration.maintain_test_schema!
rescue ActiveRecord::PendingMigrationError => e
  puts e.to_s.strip
  exit 1
end

RSpec.configure do |config|
  config.fixture_path = "#{::Rails.root}/spec/fixtures"
  config.include FactoryBot::Syntax::Methods

  config.use_transactional_fixtures = true

  config.infer_spec_type_from_file_location!

  config.filter_rails_from_backtrace!
end



При этом which нормально выдаёт путь и видит firefox:
which firefox #=> /usr/bin/firefox

Почему так?
  • Вопрос задан
  • 72 просмотра
Пригласить эксперта
Ответы на вопрос 1
hottabxp
@hottabxp
Эксперт по BeautifulSoup(но это не точно!)
Потому что:
sergey@sergey-X55A:~$ file /usr/bin/firefox
/usr/bin/firefox: symbolic link to ../lib/firefox/firefox.sh

Ruby не знаю, но скорее всего здесь:
Selenium::WebDriver::Firefox::Binary.path = "/usr/bin/firefox"

нужно что-то типа этого:
Selenium::WebDriver::Firefox::Binary.path='/usr/bin/firefox/firefox-bin'

или где там бинарник хранится.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы