In 60 Sekunden kann keine stabile Firefox-Verbindung hergestellt werden (127.0.0.1:7055).


80

Beim Ausführen von rspec-Tests wird der folgende Fehler angezeigt

In Schienen kann in 60 Sekunden (127.0.0.1:7055) keine stabile Firefox-Verbindung hergestellt werden

Verwenden Sie den neuesten Ruby (1.9.2) und Firefox (6.0)

Die Verwendung von Rspec-Rails, Capybara und mehreren anderen Edelsteinen scheint jedoch kein Problem zu sein. Diese Tests laufen in einer anderen Umgebung (Linux) einwandfrei.

Antworten:


99

[Update - dies kann (war für mich) noch eine Lösung für dieses Problem im Jahr 2015 sein | mdurrant |]

Ich bin in letzter Zeit auf dieses Problem gestoßen .

Sie sollten ein Upgrade auf Capybara v1.0.1 durchführen, um einen korrekten Selen-Web-Treiber zu erhalten.

Um sicher zu gehen, habe ich hinzugefügt:

gem 'selenium-webdriver', '2.25.0'

in meinem Gemfile.

Wichtiger Hinweis :
Das selenium-webdriverJuwel wird für jede nachfolgende Version von Firefox aktualisiert und eine neue Version veröffentlicht. Derzeit wird eine Version 2.25.0benötigt, um Firefox 15 zu unterstützen .


11
Ich habe tatsächlich 'Update Selenium-Webdriver' gebündelt, aber so oder so ist das Ziel, Selenium-Webdriver Gem auf 2.5.0 zu aktualisieren. Die Tests liefen nach dem Update einwandfrei.
Srini K

gerade gemacht. Entschuldigung für die Verspätung.
Srini K

1
musste tun - gem 'Selen-Webdriver', '> = 2.5.0' - für Firefox 11. das brachte mir gem Version 2.10 ...
ZX12R

7
Für Firefox 19 wird der Selenium-Webdriver 2.31.0 benötigt. Die Antwort lautet anscheinend immer "Holen Sie sich den neuesten Selenium-Webdriver".
Jwadsack

Ich lasse immer nur die Versionsnummer aus selenium-webdriverund mache, bundle update selenium-webdriverwenn die Version aktualisiert werden muss.
Jason Swett

17

Ich konnte es nicht mit Firefox 10 unter Ubuntu zum Laufen bringen. Der Wechsel zu Chrome hat geholfen.

Installieren Sie den Chrome-Treiber .

spec_helper.rb:

Capybara.register_driver :selenium_chrome do |app|   
  Capybara::Selenium::Driver.new(app, :browser => :chrome)
end

In Ihrer Spezifikation:

Capybara.current_driver = :selenium_chrome
... tests ...
Capybara.use_default_driver

5
Wenn Sie auf einem Mac sind, können Sie einfachbrew install chromedriver
Will

Arbeitete für mich, außer es gefiel mir: Capybara.javascript_driver = :selenium_chrome(anstatt zu setzen current_driver.)
Tim Scott

Durch den Wechsel zu Chrome konnten Sie eine stabile Firefox-Verbindung herstellen? Faszinierend. :)
D. Patrick

12

Für alle, die dies mit Firefox 12 erleben, unterstützt der aktuelle Selenium-Webdriver (2.21) FF12 nicht. Die einzige Lösung, die ich gefunden habe, besteht darin, Firefox weiterhin zu verwenden, indem Firefox heruntergestuft wird, bis der Selen-Web-Treiber mit FF12-Unterstützung aktualisiert wird.

Dies kann mithilfe des synaptischen Paketmanagers erfolgen, indem Sie das Firefox-Paket auswählen und auf Menü Menü> Version erzwingen> eine frühere Version auswählen klicken. Übernehmen Sie dann die Änderungen.

Wenn Sie nicht über synaptic verfügen, können Sie es mit apt-get install synaptic installieren.

Update: Firefox 12-Unterstützung wurde in 2.22 und FF13-Unterstützung in 2.23 hinzugefügt


Vielen Dank, hat mir ziemlich viel Zeit gespart.
Slotos

1
Selen-Webdriver Arbeitet mit FF12 für mich mit 2.22.0.rc1
Gazler

10

Ich habe diesen Fehler erhalten, weil die Spezifikationen auf einem Headless-Server ausgeführt wurden. Dies bedeutete, dass der Browser keine Anzeige zum Rendern hatte.

In diesem Artikel wird die Verwendung eines virtuellen X-Servers ( X Virtual Framebuffer ) vorgeschlagen. Dadurch kann der Browser in einer virtuellen Anzeige rendern.

Installieren Sie wie folgt:

sudo apt-get install xvfb
sudo apt-get install x11-xkb-utils
sudo apt-get install xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic

Führen Sie dann die Spezifikationen mit dem Befehl xvfb-runvor.

xvfb-run bundle exec rake spec:features

Dies war die SO-Antwort , die mich zu dem obigen Artikel führte. Es gibt auch eine alternative Möglichkeit, Xvfb zu verwenden.


1
seine "xfonts-cyrillic", letzte c fehlte
Federico Gaule Palombarani

3

* / var / lib / gems / 1.9.1 / gems / selenium-webdriver-2.35.1 / lib / selenium / webdriver / Firefox / launcher.rb: 79: in `connect_until_stable ': In 60 Sekunden kann keine stabile Firefox-Verbindung hergestellt werden (127.0.0.1:7055)(Selenium::WebDriver::Error::WebDriverError)*

Ich hatte das gleiche Problem, das Aktualisieren selenium-webdriverhat nicht geholfen (es war die aktuellste Version, die bereits verfügbar war).

Es stellt sich heraus, dass ich versucht habe, mein Skript von einer SSH-Sitzung aus auszuführen, und $DISPLAYnicht festgelegt wurde.

Das Problem wurde behoben mit:

export DISPLAY=:0

bevor Sie mein Ruby-Skript von der SSH-Sitzung aus starten (verwenden Sie es echo $DISPLAYin einem Terminal der X-Sitzung, um herauszufinden, was Sie in diese Variable einfügen müssen).


2
bundle update selenium-webdriver

Plus 1, 2015 war dies die einfachste Lösung für mich. Kein Durcheinander mit hartcodierten Versionsnummern.
Michael Durrant

1

Das Hinzufügen des 'starty'-Gems zur Gemfile meiner Anwendung funktionierte mit FF13.0, Capybara & Selenium v1.8.24.


1
Ich vermute, wenn dies das Problem behebt, liegt dies nur daran, dass durch das Hinzufügen von launchy eine spätere Version von capybara eingezogen wurde (z. B. als Abhängigkeit).
Stefan Magnuson

0

Dies ist nur eine Wiederholung dessen, was alle oben gesagt haben. Ich habe meine Gemfile überprüft und sichergestellt, dass der 'Selenium-Webdriver' keine Einschränkungen hat. Dann habe ich ein 'Bundle-Update' ausgeführt und es hat funktioniert.

Ich bin auf Ubuntux64 und Windows 8 x64

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.