Gibt es eine Möglichkeit, print-javascript-Konsole.Fehler auf dem terminal mit Rspec/Capybara/Selen?
Wenn ich rspec, ist es möglich, capybara/Selen Bericht der javascript-Konsole.Fehler und andere Ausnahmen zurück zu rspec?
Habe ich eine ganze Reihe von tests Versagen, aber meine Anwendung funktioniert, wenn ich manuell testen. Ohne zu wissen, das javascript-Fehler, die wahrscheinlich blockieren meine single-page-web-app nur während der Prüfung, es ist wirklich schwer, herauszufinden, warum die tests nicht nachgekommen sind.
Habe ich umgesehen und habe nicht wirklich in der Lage gewesen, eine Lösung zu finden.
InformationsquelleAutor Andrew De Andrade | 2012-01-25
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich weiß nicht, ob das wird helfen, aber Sie könnten versuchen, die Umstellung auf thoughtbot s capybara-webkit-Treiber. Es ist eine alternative zu Selen, dass die kopflose, dh Sie nicht öffnen Sie einen browser, um die tests auszuführen. Wenn ich meine tests mit diesem Treiber (in einem RSpec+Capybara-setup), alle Javascript-Fehler bekommen, inline bedruckt mit meinem RSpec-Ausgang.
Ich habe nie versucht, das Umschalten von Selen zu capybara-webkit, also ich weiß nicht, wie dies möglich ist, auf ein bestehendes Projekt. Wenn Sie nicht etwas wirklich ausgefallenes mit Selen, der übergang könnte sein, ziemlich glatt. Allerdings, wenn Sie angewiesen sind auf die in der Lage zu beobachten, die tests im browser ausgeführt wird, oder einige andere spezifische Notwendigkeit, Selen, dann wird meine Antwort leider nicht viel nützen.
Finden Sie capybara-webkit-hier: https://github.com/thoughtbot/capybara-webkit
Bekommen es installiert ist, können ein Schmerz sein, da Sie brauchen werden, die Qt4-Bibliothek. Wenn Sie nicht bereits haben Qt4 auf Ihrem system, den build-Prozess eine lange Zeit. Für mich war es lohnt sich die Mühe. Ich bevorzuge capybara-webkit jeder anderen Lösung, die ich versucht habe.
InformationsquelleAutor Ryan
Gibt es einen Beispielcode am Ende dieses gist https://gist.github.com/gkop/1371962 (den von alexspeller), die funktioniert sehr gut für mich.
Ich endete damit, dass dies im Zusammenhang mit der JS tests war ich versucht zu Debuggen
expect(page.driver.browser.manage.logs.get(:browser).select {|m| m.level == 'SEVERE'}.length).to eq(0)
InformationsquelleAutor Leo
Hier ist ein weiterer Weg, arbeitet derzeit zusammen mit Selen und kopflose Chrom (sollte auch mit Firefox).
Fügen Sie die folgenden
spec/rails_helper.rb
innerhalb derRSpec.configure do |config|
block und alle feature-Spezifikationen mitjs: true
wird die Metadaten-Anzeige JS-Fehler.Dem code ist eine Anpassung der diese.
Ja, anscheinend ist es nicht mehr funktioniert mit Firefox. Vielleicht funktioniert es noch mit Chrome?
Es ist immer noch in chrome, ich bin mit chromeheadless 2.41 und es funktioniert
InformationsquelleAutor BrunoFacca
Dies ist nicht schön, aber man könnte injizieren ein Skript, um direkte Fehler in der DOM-und beobachten Sie die änderungen über Selen.
Genauer gesagt, injizieren ein Skript in jede Seite, die überschreibt
Fenster.onerror
oderconsole
so dass Fehler Anhängen, die Informationen zu einigen versteckten Knoten, die Sie injiziert haben in der DOM. Dann, über Selen, regelmäßig zu überprüfen und leeren Sie den Inhalt des Elements, drucken die leeren Daten auf die Java-Konsole.InformationsquelleAutor cheeken
Mache ich etwas, das ähnlich wie Leo, aber einschließlich der browser-Protokolle als Teil des test-Fehler-Meldung:
InformationsquelleAutor Paul Brannan