2012-10-17 9 views
6

Ich halte diesen Fehler auf immer:Rails 3.1 Capybara jQuery ist nicht definiert

Failure/Error: page.evaluate_script('jQuery.active') == 0 
Selenium::WebDriver::Error::JavascriptError: 
    ReferenceError: jQuery is not defined 

, wenn ich das Skript verwenden:

wait_until do 
    page.evaluate_script('jQuery.active') == 0 
end 

Ich habe in einem Debugger gesetzt und überprüft für die jQuery-Bibliothek . Es war auf der jeweiligen Seite vorhanden.

Gibt es etwas, das ich konfigurieren muss, damit dies funktioniert?

EDIT:

Versionen von Capybara und RSpec sind:

rspec-Schienen-2.11.0 rspec-2.11.0 Capybara-1.1.2

+0

Welche Version von rspec/capybara verwenden Sie? Wirklich, ist * diese * rpec, in der du das ausführst, oder Gurke oder etwas anderes? –

+0

ist es rspec, aber Capybara verwenden. –

+0

Welche Versionen sind sie? –

Antwort

0

Der Fehler bedeutet, Ihr Beispiel tut have js: true, aber es wäre gut, hier ein komplettes Beispiel zu posten.

Ich fand, dass die Umstellung von der Standard-Selen-Treiber auf Webkit ein paar verschiedene Probleme für mich gelöst, und auch Beispiele laufen viel schneller.

Keine Antwort, per se, aber es lohnt sich zu versuchen, um zu sehen, ob es Ihr spezielles Problem löst.

0

Ich lief in das gleiche Problem. Ich löste es, indem ich eine binding.pry in den Test fallen ließ und den Selenbrowser stoppte. Bei der Inspektion bemerkte ich, dass die js-Konsole Fehler geworfen hatte: Selen konnte keine .js-Datei finden.

Die Ursache des Problems war eine veraltete Testanwendung für Schienen, die mit Feder vorgespannt war. Ich hatte ein Juwel installiert (moment-timezone-rails), fuhr aber trotzdem fort, meine Tests mit 'spring rspec' auszuführen, welches nicht das richtige Verzeichnis hatte, um die js-Datei zu finden.

Neustart Feder das Problem behoben.

0

Ich hatte das gleiche Problem mit FF 41.0.2 und Capybara-Webkit 3.4.0. Nach der Aktualisierung von FF auf 53.0.3 ist das Problem verschwunden

Verwandte Themen