Не удалось получить стабильное соединение 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
.
Ответы
Ответ 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. Но как узнать, какая версия вам нужна? Надеемся, что эта процедура будет работать даже при изменении версий:
-
Перейдите по адресу http://www.seleniumhq.org/download/.
-
Прокрутите вниз до Привязок к языку клиентов Selenium и WebDriver.
-
В этом разделе в строке языка Ruby нажмите "Журнал изменений" (прямая ссылка).
-
В журнале изменений определите, какая версия 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)