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

Не удалось получить стабильное соединение firefox за 60 секунд (127.0.0.1:7055)

При тестировании сценария cucumber я получаю следующую ошибку при запуске rspec тестов

не удалось получить стабильное соединение firefox за 60 секунд (127.0.0.1:7055) (Selenium:: WebDriver:: Error:: WebDriverError)

Используя ruby (1.9.2) selenium-webdriver (2.27.2) и firefox (19.0)

Использование rspec-rails (2.12.1), capybara (2.0.2) и нескольких других драгоценных камней. Также я добавил launchy gem, но они, похоже, не являются проблемой. И я использую Windows 7.

4b9b3361

Ответ 1

У меня была та же проблема (в Linux). Исправлено:

gem update selenium-webdriver

Теперь я использую ruby ​​1.9.3-p286, selenium-webdriver 2.29.0, firefox 18.0 Также как rspec-rails 2.9.0, capybara 1.1.2 и capybara-webkit 0.12.1

Я добавил selenium-webdriver 2.29.0 в свой Gemfile, чтобы быть в безопасности.

Ответ 2

Кажется, Selenium Webdriver часто обновляется, чтобы идти в ногу с Firefox. Но как узнать, какая версия вам нужна? Надеемся, что эта процедура будет работать даже при изменении версий:

  1. Перейдите по адресу http://www.seleniumhq.org/download/.

  2. Прокрутите вниз до Привязок к языку клиентов Selenium и WebDriver.

  3. В этом разделе в строке языка Ruby нажмите "Журнал изменений" (прямая ссылка).

  4. В журнале изменений определите, какая версия Selenium вам нужна для вашей версии Firefox.

Если вы используете Bundler, запустите bundle show selenium-webdriver чтобы увидеть, какая у вас версия. Чтобы обновить, например, до 2.35.0, добавьте эту строку в ваш Gemfile:

gem 'selenium-webdriver', '2.35.0'

и затем запустите bundle update для установки. Если вы используете Spork, не забудьте перезапустить его перед повторным запуском тестов.

Обновление одного fooobar.com/questions/80625/... указывает, что журнал изменений может быть обновлен раньше в хранилище исходного кода, чем на seleniumhq.org. Журнал изменений для Ruby находится здесь: https://github.com/SeleniumHQ/selenium/blob/master/rb/CHANGES.

Понижение Firefox

Если вам нужно понизить Firefox на Ubuntu 12.04, этот ответ объясняет, как вернуться к Firefox 20. Более общее описание способа, чтобы перейти к любой версии Firefox дается здесь. Затем используйте этот ответ, чтобы приостановить обновления Firefox, пока Selenium не выпустит обновление, которое работает с более поздней версией Firefox.

В моем случае я понизил версию Firefox только для того, чтобы обнаружить, что Selenium Webdriver недавно был обновлен для работы с последней версией, поэтому сначала проверьте наличие обновлений Selenium!

Ответ 3

bundle update selenium-webdriver

Ответ 4

Просто наткнулся на это на сервере CI и обнаружил, что это связано с тем, что Firefox не использовал отображение. Я думал, что селен-webdriver сделает работу без дальнейшего вмешательства, но это было не так.

Добавление Xvfb в микс заставило его работать.

Для Rails, использующих функции огурца:

gem 'headless'

затем в функциях /support/env.rb

Before do
  if Capybara.current_driver == :selenium
    require 'headless'

    headless = Headless.new
    headless.start
  end
end

Ответ 5

Эта ошибка возникает, когда версии selenium и firefox несовместимы.

Есть два варианта.

  • Обновить селен:

    gem update selenium-webdriver

    Если все еще не удается, селен не обновляется до последней версии.

  • Снизьте версию firefox:

    sudo apt-get purge firefox

    Чтобы просмотреть доступные пакеты для загрузки apt-cache showpkg firefox

    sudo apt-get install firefox=#older_version#

Ответ 6

Волшебная комбинация, которая работала для меня, - Firefox 19.0 и веб-драйвер selenium 2.32.1 (последний на момент написания). Firefox 20.x и 21.x не работают. Мне пришлось понизить Firefox. Также имейте в виду, что (по крайней мере, в Mac OS), если вы перейдете в меню FireFox → Об Firefox, он автоматически обновится до последней версии. Не делайте этого.

Ответ 7

Если вышеописанное теперь работает, как и в моем случае, сделайте снимок.

Я получал ошибку времени на одной машине, а не другую. Обе машины - это тонкие клиенты, которые работают с одинаковыми версиями всего. Так что исключены несовместимые версии firefox (ошибка произошла на одной машине, а не на другой)

Оказалось, что возникла проблема с портом, который использовал безголовый. С этим портом был еще один процесс.

Ниже приведена проблема для меня:
Добавьте следующую строку в файл .zshenv
export XVFB_DISPLAY='new-port-number'
затем запустите команду zsh в терминале, чтобы установить изменение

Ответ 8

У меня возникла эта проблема, когда я запускал irb с терминала, где я получил доступ к другому пользователю. Я получаю эту ошибку, когда я запускаю irb как этот пользователь. Но нет, если я побежал как корень. И не тогда, когда я вышел обратно в оболочку, принадлежащую зарегистрированному пользователю.

Ответ 9

Для меня я уже обновил драгоценные камни, но затем мне нужно было обновить свой пакет.

В powershell перейдите в свой каталог, а затем обновите узел:

cd D:\Projects\LazyAutomation
bundle update

Ответ 10

для тех, кто использует Vagrant, если вы входите в систему, позволяя XServer firefox запускать правильно, что решило его для меня. бродяга ssh - -X

Ответ 11

Понизить Firefox.

Если использование gem 'headless' и обновление самоцветов уже нежелательно, как сейчас, тогда вам нужно понизить версию Firefox.

Для Ubuntu (но другие дистрибутивы Linux будут очень похожи) вы должны:

Удалите Firefox, который поставляется с последними версиями Ubuntu

sudo apt-get purge firefox

Вы можете дополнить удаление некоторых связанных данных, как описано здесь

Теперь установите более старую версию Firefox. Для меня работала версия 42.0 (как это использует наш Travis.ci)

$ export FIREFOX_SOURCE_URL='https://download.mozilla.org/?product=firefox-42.0&lang=en-US&os=linux64'
$ wget --no-verbose -O /tmp/firefox-42.0.tar.bz2 $FIREFOX_SOURCE_URL
$ tar xvC ~/. -f /tmp/firefox-42.0.tar.bz2
ln -s ~/firefox/firefox ~/bin/firefox

Откройте новую вкладку терминала и запустите спецификации огурца/селена.

Теперь вы можете загрузить новейшую версию Firefox и создать файл .desktop в /usr/share/applications/ для доступа к нему из док-станции. И пусть Selenium найдет по умолчанию более старую версию. Возьми это для справки

Ответ 12

После выполнения предложения ballPointPenguin я могу теперь использовать watir-webdriver для извлечения локальных файлов или файлов в локальном каталоге apache install htdocs или в файлах в Интернете:

1) file:///Users/me/jquery_programs/1.htm
2) 'http://localhost:8080/my.html'
3) 'http://www.google.com'

require 'watir-webdriver'

browser = Watir::Browser.new :firefox
browser.goto 'http://localhost:8080/my.html'

Перед обновлением я получал ошибку:

`connect_until_stable ': невозможно получить стабильное соединение firefox в 60 секунд (127.0.0.1:7055) (Селен:: WebDriver:: Error:: WebDriverError)