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.