Gurkentest stoppt plötzlich

8

Ich habe eine Funktion wie folgt:

%Vor%

Wenn ich die Gurkenfunktion (oder das Szenarium) starte, stoppt sie plötzlich bei Schritt "Und ich gehe zur Chatseite" ohne irgendeine Fehlermeldung. Das Ergebnis sieht folgendermaßen aus:

%Vor%

Das sind meine "fallenden" Schritte:

%Vor%

Ich benutze Capybara-Webkit mit Gurke. Das ist meine env.rb:

%Vor%

Problem aufgetreten, wenn ich mein Projekt auf rails4 aktualisiert habe. Irgendwelche Ideen?

    
kenjione 04.02.2014, 10:57
quelle

4 Antworten

3

Viele der von mir verwalteten Entwickler finden Capybara-webkit wirklich problematisch und inkonsistent.

poltergeist/PhantomJS hat viele Vorteile. Generell gilt:

  • ist eher deterministisch, da Problemszenarien eher durchgängig ausfallen als flockig zu sein
  • ist weniger maschinenabhängig; Unsere Suite verhält sich nun in all unseren Testumgebungen ziemlich ähnlich
  • gibt bessere Fehlermeldungen
  • schlägt fehl, wenn JavaScript-Fehler auftreten, selbst wenn der Test andernfalls
  • bestanden hätte
  • hängt nicht und
  • ist einfacher zu installieren.

Hier ist ein ein guter Beitrag von Dave Schweisguth über seine Präsentation beim Februar Automated Testing SF meetup, wo er die Testumgebung / -einrichtung seines Unternehmens (Fandor), Probleme, Fehlerbehebung und einen schnellen Vergleich diskutierte. Es könnte Ihnen helfen, Ihr Problem zu finden.

    
user3613898 07.05.2014 21:24
quelle
2

Ok, ich habe keine Antwort, aber ich habe mehr Beweise, die zu einem Workaround führen.

Das gilt für rspec, aber ich nehme an, dass es auch für Gurke dasselbe sein sollte:

%Vor%

Es sieht so aus, als ob der Zeiger auf STDOUT irgendwie gestampft wird. Wenn Sie eine Ausgabedatei angeben und diese nachverfolgen, sollten Sie die vollständige Ausgabe sehen.

Ich habe die verschiedenen Formatierer ausprobiert und egal was passiert, wenn sie an STDOUT ausgeben, geht die Ausgabe irgendwo auf dem Weg verloren.

    
Peter P. 07.05.2014 18:41
quelle
1

Ich hatte ein ähnliches Problem, aus unbekannten Gründen bei der Verwendung von Selenium-Web-Treiber. Aber als ich zu Poltergeist (PhantomJS) wechselte, fing es an zu arbeiten.

Außerdem habe ich festgestellt, dass Sie Selen-Treiber benötigen, aber dann verwenden Sie das Webkit.

Und nachdem Sie den Treiber gewechselt haben, versuchen Sie alles zu starten, ohne dass ein Spork läuft.

    
Ernest 04.02.2014 11:58
quelle
0

Verwenden Sie Thin-Webserver anstelle von webkit und fügen Sie den folgenden Code in features/support/env.rb :

ein %Vor%

Lesen Sie mehr über diese Lösung unter Verwendung von thin server unter folgendem Link:

Lösung des gleichen Problems mit Thin Web Server , und lesen Sie diese Lösung gleiche Lösung von einem anderen .

    
Mohamed Yakout 09.08.2014 01:49
quelle