Ich habe einen form_tag, der den folgenden HTML-Code generiert:
%Vor%Das obige ist ALL des generierten HTML. Ich habe alle Partials und Layouts entfernt, um zu versuchen, das Debuggen dieses Problems so einfach wie möglich zu machen.
Die Datepicker-Felder rufen jquery UI Datepicker auf.
Ich möchte Javascript für meinen Test vermeiden und einfach die Datumsfelder mit Textdaten ausfüllen. Ich habe fill_in "datepicker_mini", :with => "01/01/2010"
ausprobiert, aber obwohl es den Test nicht zum Scheitern bringt, füllt es auch nicht das Feld aus, wenn ich save_and_open_page
zum Testen verwende.
Aktualisierung: TEST CODE
%Vor%Jede Hilfe wird sehr geschätzt.
Danke.
Ich hatte das gleiche Problem. Nach dem Lesen der Dokumentation von Capybara, war meine Lösung, page.execute_script () zu verwenden, um einen Wert direkt auf die Eingabe zu setzen.
%Vor%Das ist ein bisschen dreckig, denke ich, aber arbeite für mich.
Gotchas:
Edit: Das funktioniert auch für Poltergeist
Wenn Sie die UI-Klicks simulieren möchten, funktioniert dies für mich (mit einem Javascript-Treiber).
Wenn die ID meines Datumsempfängers "target_date" ist, wird zum nächsten Monat navigiert und dann der 15. ausgewählt.
%Vor%Die obige Lösung hat bei mir nicht funktioniert. Vielleicht, weil es kein Eingabefeld für die Anwendung gibt, für die ich Tests schreibe. Meine Lösung ist viel hässlicher, aber es wählt Daten aus und verifiziert die Auswahl in einem Datepicker, der nur GUI ist.
%Vor%Tags und Links ruby-on-rails-3 capybara minitest