Подтвердить что ты не робот

Невозможно подключиться к хромированному

Я использую тест capybara и selenium для моих рельсов. когда я выполняю тест script, ему нравятся ошибки

 Selenium::WebDriver::Error::WebDriverError:
   Could not find Firefox binary (os=macosx). Make sure Firefox is installed or set the path manually with Selenium::WebDriver::Firefox::Binary.path=

Я google как использовать Google Chrome в качестве браузера тестирования вместо Firefox

но при этом возникают другие ошибки.

Selenium::WebDriver::Error::WebDriverError:
   unable to connect to chromedriver http://127.0.0.1:9515
4b9b3361

Ответ 1

У меня была такая же проблема. То, что сработало для меня, использовало жемчужину "chromedriver-helper". Часть моего gemfile выглядит так:

group :development, :test do
  gem 'rspec-rails'
  gem 'capybara'
  gem 'selenium-webdriver'
  gem 'chromedriver-helper'
end

Ответ 2

В Mac OS

Он отлично работает с watir-webdriver и Safari

browser = Watir::Browser.new :safari

Если вы хотите использовать Chrome, убедитесь, что он установлен, плюс вам нужно установить mac os инструменты для разработчиков с помощью

xcode-select --install

а также установить хромированный рекордер с brew

brew install chromedriver

В Linux

У меня была такая же ошибка на моем промежуточном сервере Ubuntu 12.04, и проблема была в том, что я не устанавливал сам хром (с правами суперпользователя):

wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
apt-get update
apt-get install google-chrome-stable

Установите chromedriver (используйте правильный путь для вашей системы и версии):

wget http://chromedriver.storage.googleapis.com/2.7/chromedriver_linux64.zip
unzip chromedriver_linux64.zip
cp chromedriver /usr/local/bin
chmod +x /usr/local/bin/chromedriver 

После этого я рекомендую вам использовать watir-webdriver в режиме безголовья

require 'watir-webdriver'
require 'headless'
headless = Headless.new
headless.start

browser = Watir::Browser.new :chrome
browser.goto 'http://google.com'

...

browser.close
headless.destroy

Удачи!

Ответ 3

Запустив Ubuntu 12.10, я также получил сообщение об ошибке:

unable to connect to chromedriver http://127.0.0.1:9515

Не работал даже после того, как я его загрузил и правильно установил. Я даже попытался использовать драгоценный камень с хромированной передачей. Поэтому я запустил хромированный рекордер вручную (/usr/bin/chromedriver) и обнаружил 2 вещи:

1) У меня была недостающая зависимость пакета от libnss3, которая была исправлена ​​с помощью sudo apt-get install libnss3

2) Версия 2.9 chromedriver (последняя по состоянию на февраль 2014) требует хром > версия 31, и у меня был v25, который был исправлен с помощью sudo apt-get --only-upgrade install google-chrome-stable

Ответ 4

mac osx 10.9.4, jruby 1.7.6, selenium-webdriver 2.42.0, brew установить хромированный реверс → установлен 2.10

got unable to connect to chromedriver http://127.0.0.1:9515
(Selenium::WebDriver::Error::WebDriverError)

нашел this- > https://code.google.com/p/selenium/issues/detail?id=6574#c3

У нас есть исправленный webdriver/chrome/service.rb, содержащий

@process.io.stdout = Tempfile.new("chromdriver-output")
before @process.start

РЕШИМ проблему - crikey!

Ответ 5

mac osx 10.10 с jruby 1.7.12

unable to connect to chromedriver http://127.0.0.1:9515

нашел this- > https://code.google.com/p/selenium/issues/detail?id=6574#c3

module Selenium
  module WebDriver
    module Chrome
      class Service
        alias_method :old_start, :start
        def start
          @process.io.stdout = Tempfile.new("chromdriver-output")
          old_start
        end
      end
    end
  end
end

Ответ 6

В OS X? Используя Brew? Пропустили инструкции?

$>> brew info chromedriver

chromedriver: stable 2.20
...
==> Caveats
To have launchd start chromedriver at login:
  ln -sfv /usr/local/opt/chromedriver/*.plist ~/Library/LaunchAgents
Then to load chromedriver now:
  launchctl load ~/Library/LaunchAgents/homebrew.mxcl.chromedriver.plist

Следуйте за ними:) работал у меня. Также помогает открыть хром, возможно, потребуется обновление.

Ответ 7

У меня возникла проблема при конфигурировании круга ci

  • добавить в интерфейс Gemfile для Xvfb

gem 'headless', '~> 2.3.1'

  • добавить в spec/rails_spec.rb

if ENV['HEADLESS'] == 'on' require 'headless' headless = Headless.new headless.start end

поэтому запустите rspec HEADLESS=on bundle exec rspec

Пример рабочей конфигурации, в которой эта проблема решена:

circle.yml

  • переустановить Chrome
  • установить ChromeDriver
  • установить Selenium

Здесь отличное руководство, как это сделать: https://gist.github.com/ziadoz/3e8ab7e944d02fe872c3454d17af31a5

Ответ 8

Если вышеуказанные решения не работают, попробуйте создать еще один gemset и выполнить тесты

rvm gemset create <your_gemset_name>
rvm gemset use <your_gemset_name>
gem install bundler
bundle install

Поскольку эта проблема обычно возникает, когда есть конфликты между двумя версиями selenium-webdriver

Ответ 9

убунту-14-04-64

невозможно подключиться к хромированному 127.0.0.1:9515

$ chromedriver -v
ChromeDriver 2.33.506092

$ which chromedriver
/usr/local/bin/chromedriver

 wget -N http://chromedriver.storage.googleapis.com/2.33/chromedriver_linux64.zip

    unzip chromedriver_linux64.zip

    chmod +x chromedriver

    sudo mv -f chromedriver /usr/local/share/chromedriver

    sudo ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver

    sudo ln -s /usr/local/share/chromedriver /usr/bin/chromedriver
___
    Capybara.register_driver(:headless_chrome) do |app|
      capabilities = Selenium::WebDriver::Remote::Capabilities.chrome(
       chromeOptions: { args: %w[headless disable-gpu --screen-size=1024x640] }
      )

      Capybara::Selenium::Driver.new(
       app,
       browser: :chrome,
       desired_capabilities: capabilities
      )
end

Capybara.javascript_driver = :headless_chrome
Capybara.current_driver = :headless_chrome