Frage

begann ich von der Gurke + webrat auf Gurke + Capybara migrieren. Nun ist das Verhalten von „Ich sehe, sollte“ scheint etwas anders zu sein. Die meisten von ihnen scheitern jetzt, obwohl ich auf der Seite nichts ändern. Ich ersetzen den Schnipsel, die mit einem paar Sachen gefunden werden sollen, die auf jeder Seite ist und für einen Text es funktioniert und für anderen Text ist es nicht. Ich kann kein Muster in dem finden, was in dem Inhalt der Seite zu finden ist und was nicht. Webrat verwendet zu drucken, was der Inhalt dieser Seite ist, dass es gefunden, falls es nicht den erforderlichen Satz enthielt. Gibt es trotzdem Capybara Show zu haben, was Text, um ihn von der Seite bekam, in dem er versucht, den Text zu finden?

War es hilfreich?

Lösung

Versuchen Sie das Hinzufügen dieses Schrittes:

Then show me the page

Andere Tipps

Then show me the page nennt webrat / Capybara zugrunde liegende save_and_open_page Methode. Gefunden, dass dann nützlich, wenn mit Steak arbeiten.

Wenn Sie den Browser öffnen Sie die Seite haben wollen, wenn die Seite nicht Sie die ‚launchy‘ gem verwenden. Fügen Sie es zu Ihrer Juwel-Datei, und dann in / feature / Unterstützung eine Datei erstellen, genannt debugging.rb mit Inhalt:

After do |scenario|
   save_and_open_page if scenario.failed?
end

Wenn Sie mit Javascript oder Ajax in Ihren Seiten und wollen sehen, was los ist, ich habe festgestellt, dass der Poltergeist-Treiber ist sehr gut so dass Sie in den DOM erhalten und herauszufinden, was falsch laufen.

Wenn Sie Setup Ihre Capybara-Treiber mit der Remote-Debugging-Option:

Capybara.register_driver :poltergeist do |app|
  Capybara::Poltergeist::Driver.new(app, inspector: true)
end

Sie können dann setzen Sie die folgende Zeile in Ihre Schritte:

page.driver.debug 

, die einen neuen Chromium-Browser mit dem aktuellen DOM Zustand Satz Brände, so dass Sie an der Konsole erhalten. (Auf meiner Version von Linux hatte ich Chrom zu Chrom-Browser Symlink aber sonst hat gut funktioniert).

Quelle Info: http://jonathanleighton.com/articles/2012/poltergeist-0-6 -0 /

Then show me the response hat nicht funktioniert für mich mit Gurke 1.1 Ich fand nützlich, um einen Schritt mit Capybara Befehl zu schreiben:.

print page.html

Dies gibt den aktuellen Status des DOM

Sie auch „Zeigen Sie mir dann die Antwort“, die an die Konsole die HTML-Ausgänge verwenden können, wenn Sie einen Browser nicht verwenden möchten.

Sie können immer haben sie einen Screenshot, wenn etwas gescheitert. Ich debuggen eine Menge von Funktionen, die Art und Weise versagt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top