Capybara webkit ungültiger Antwortfehler, wie debuggen?

8

Ich versuche, eine Anforderungsspezifikation für eine Webseite zu schreiben.

Diese Seite funktioniert in der Entwicklung ohne Fehler.

Aber in Capybara Webkit läuft, bekomme ich diesen Fehler nach dem Versuch, das Formular einzureichen:

%Vor%

Um die Ursache herauszufinden, habe ich begonnen, Markup und JavaScript auf der Seite zu entfernen. Bis zu dem Punkt, wo es ein leeres Formular mit einem einfachen Absenden-Button ist. Ich bekomme immer noch den obigen Fehler!

Der Test ist jetzt wörtlich:

%Vor%

Dieser Test funktioniert jedoch, wenn ich die Option: js entferne:

%Vor%

Javascript-Tests funktionieren auf anderen Seiten dieser Anwendung ...

Das macht keinen Sinn für mich. Hat jemand irgendwelche Vorschläge, wie man von hier debuggt?

Danke für jede Hilfe

    
Chris 01.08.2012, 10:15
quelle

4 Antworten

6

Der Fehler, den Sie sehen, ist höchstwahrscheinlich capybara-webkits kryptischer Weg, Ihnen zu sagen, dass es auf der Seite eine Art Ausnahme gibt. Ich hatte das gleiche Problem eine Weile zurück, und die "Unable to URL" -Ding hat mich total rausgeschmissen, was es schwierig macht, das eigentliche Problem zu finden.

Als ein paar Dinge zu versuchen, würde ich vorschlagen:

  • Stellen Sie sicher, dass Sie die neueste Version von capybara-webkit installiert haben.
  • Prüfe Elemente des Tests außer dem tatsächlichen Formular, z. die Steuerungslogik und alle beteiligten Modelle. Streifen Sie alles aus, bis Sie nichts mehr haben.
  • Sehen Sie sich die Diskussion zu diesem Thema an und folgen Sie den Hinweisen von dort. Ich bin mir ziemlich sicher, dass es das gleiche oder ein ähnliches Problem ist.

Viel Glück!

    
Chris Salzberg 09.08.2012, 08:53
quelle
19

Fügen Sie Ihrer capybara-Konfiguration Folgendes hinzu:

%Vor%

Wenn Sie jetzt einen Fehler bekommen, sehen Sie es auf stdout und Rack wird eine Seite mit Details über die Umgebung (Cookies usw.) und das Backtrace rendern.

    
opsb 30.08.2012 10:34
quelle
2

Ich arbeite mit Subdomains und ich könnte es schaffen, folgendes zu spec_helper.rb hinzuzufügen:

%Vor%

Offensichtlich vor 127.0.0.1 subdomain.local.host zu meiner /etc/hosts Datei hinzufügen

    
Alter Lagos 27.08.2013 22:49
quelle
2

Ich hatte ein ähnliches Problem und konnte es beheben, indem ich page.driver.browser.ignore_ssl_errors für :js enabled Tests aktivierte. Hier ist der Code, der für mich funktioniert hat:

%Vor%     
Jim Pugh 17.02.2015 06:08
quelle