Capybara + Selenium + RSpec - LoadError, wenn JS auf "true" gesetzt wird

8

Wenn ich einen meiner rspec-Tests auf Folgendes setze: js = & gt; Wahr ich bekomme den folgenden Fehler. Ich verwende die folgenden Versionen:

Schienen - 3.2.2
Rspec - 2.9.0
Capybara - 1.1.2

Gemäß den Dokumenten sollte Capybara alle Spezifikationen mit js = & gt; wahr durch Selen. Ich habe versucht, Selenium zu meinem Gemfile hinzuzufügen, falls Capybara es nicht finden konnte, aber das hat nicht funktioniert.

%Vor%     
Phil Jeffs 26.04.2012, 13:07
quelle

3 Antworten

7

Dies kann auch umgangen werden, indem multi_json auf die neueste Version aktualisiert wird.

    
jarib 01.05.2012, 00:17
quelle
9

Ich hatte das gleiche Problem jetzt für 3 Tage! Es hat mich verrückt gemacht!

kurze Antwort: downgrade selenium-webdriver auf 2.21.1

lange Erklärung: Nach einigem Graben in den Quellcode kann ich das Problem selenium-webdriver 2.21.2 in einer Rails App überprüfen (ich teste auf Rails 3.0.x persönlich).

Die problematische Codezeile finden Sie hier Ссылка

Die Hauptursache ist in einer Rails App die Klasse ActiveSupport::Dependencies::Loadable definiert eine Methode auf Klassenebene namens load auf Object , daher liefert der Check MultiJson.respond_to?(:load) immer true , aber die falsche load Methode.

    
george 27.04.2012 15:08
quelle
1

Ich hatte das gleiche Problem, die Lösung für mich war die Änderung der Festplatte, die ich benutzte. Also zum Beispiel:

%Vor%

Auf diese Weise benutze ich den rack_test anstelle des Selen-Webdrives (der Standard von Capybara).

Hoffe, das hilft dir!

    
joaomdmoura 26.04.2012 21:50
quelle