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.
selenium-webdriver
und mache,bundle update selenium-webdriver
wenn die Version aktualisiert werden muss.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
quelle
brew install chromedriver
Capybara.javascript_driver = :selenium_chrome
(anstatt zu setzencurrent_driver
.)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
quelle
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-run
vor.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.
quelle
Ich hatte das gleiche Problem, das Aktualisieren
selenium-webdriver
hat 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
$DISPLAY
nicht 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 $DISPLAY
in einem Terminal der X-Sitzung, um herauszufinden, was Sie in diese Variable einfügen müssen).quelle
quelle
Das Hinzufügen des 'starty'-Gems zur Gemfile meiner Anwendung funktionierte mit FF13.0, Capybara & Selenium v1.8.24.
quelle
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
quelle