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%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.
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!
Tags und Links ruby-on-rails capybara rspec selenium