Не удается получить стабильное соединение с 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 драгоценный камень, но они, кажется, не проблема. И я использую Windows 7.
12 ответов:
У меня была такая же проблема (на 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, чтобы быть в безопасности.
кажется, Selenium Webdriver получает частые обновления, чтобы идти в ногу с Firefox. Но как узнать, какая версия вам нужна? Надеюсь, эта процедура будет работать даже при изменении версий:
перейти к http://www.seleniumhq.org/download/.
прокрутите вниз, чтобы Привязки Языка Selenium Client & WebDriver.
в этом разделе, в Рубин язык линия, нажмите на кнопку "Изменить журнал" (прямая ссылка).
в журнале изменений определите, какая версия Selenium вам нужна для вашей версии Firefox.
если вы используете Bundler, запустите
bundle show selenium-webdriverчтобы увидеть, какая версия у вас. Чтобы обновить, например, до 2.35.0, добавьте эту строку в свойGemfile:gem 'selenium-webdriver', '2.35.0'а потом беги
bundle updateустановить. Если вы используете Spork, не забудьте перезапустить его перед повторным запуском тесты.обновление Один StackOverflow ответ указывает, что журнал изменений может быть обновлен раньше в репозитории исходного кода, чем в 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!
просто столкнулся с этим на сервере CI и обнаружил, что это было потому, что Firefox не имел дисплея для использования. Я думал, что selenium webdriver заставит его работать без дальнейшего вмешательства, но это было не так.
добавление Xvfb в микс заставило его работать.
для рельсов работает огурец особенности:
gem 'headless'затем в функции / поддержка / env.РБ
Before do if Capybara.current_driver == :selenium require 'headless' headless = Headless.new headless.start end end
эта ошибка возникает, когда версии selenium и firefox несовместимы.
есть два варианта.
обновление селен:
gem update selenium-webdriverесли это все еще не удается, то селен не был обновлен до последней версии.
понизить версию firefox:
sudo apt-get purge firefoxчтобы увидеть доступные пакеты для скачать
apt-cache showpkg firefox
sudo apt-get install firefox=#older_version#
волшебная комбинация, которая работала для меня, была Firefox 19.0 и selenium web-driver 2.32.1 (последний на момент написания статьи). Firefox 20.х и 21.x не сработало. Мне пришлось понизить Firefox. Также имейте в виду, что (по крайней мере, на Mac OS), если вы перейдете в меню FireFox -> О Firefox, он автоматически обновится до последней версии. Не делай этого.
Если вышеизложенное теперь работает, как в моем случае, дайте этому шанс.
Я получал ошибку тайм-аута на одной машине, а не на другой. Обе машины являются тонкими клиентами, выполняющими одни и те же версии всего. Так что исключил несовместимые версии firefox (ошибка произошла на одной машине, а не на другой)
оказалось, что была проблема с портом, что безголовый использовал. Был еще один процесс, использующий этот порт.
ниже фиксированной вопрос для меня:
Добавьте следующую строку в .zshenv fileexport XVFB_DISPLAY='new-port-number'
затем выполните командуzshв терминале установить change
У меня была эта проблема, когда я запускал irb с терминала, где я подал в суд на другого пользователя. Я бы получил эту ошибку, когда я запускал irb как этот пользователь. Но не тогда, когда я бежал как корень. И не тогда, когда я вышел обратно в оболочку, принадлежащую зарегистрированному пользователю.
для меня, я уже обновил драгоценные камни, но тогда нужно обновить пакет.
в powershell перейдите в свой каталог и обновите пакет:
cd D:\Projects\LazyAutomation bundle update
для тех, кто использует Vagrant, если вы войдете в систему, включив xserver firefox, может начать правильно, что решило его для меня. бродячий ssh -- - X
Понизить Firefox.
если уже используете
gem 'headless'и обновление gems не желательно, так как на данный момент, то вам нужно понизить 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откройте новую вкладку терминала и запустите спецификации cucumber/selenium specs.
теперь вы можете скачать новую версию Firefox и создать на
/usr/share/applications/для доступа к нему из док-станции. И пусть селен найдет по умолчанию старую версию. возьмите это за Ссылка
после выполнения предложения ballPointPenguin теперь я могу использовать watir-webdriver для извлечения локальных файлов или файлов в каталоге htdocs моей локальной установки apache или файлов в интернете:
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) (Selenium:: WebDriver:: Error:: WebDriverError)