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.

Srini K.
quelle

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 .

apneadiving
quelle
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
Vincent
quelle
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

mltsy
quelle
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.

br3nt
quelle
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).

pi3g.com
quelle
2
bundle update selenium-webdriver
Rusllonrails
quelle
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.

mnoble01
quelle
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

Austio
quelle