2016-12-08 3 views
0

Ich habe folgendes Element meiner Ansicht nach Vorlage erzeugt auszuwählen: <%= link_to_add_fields "Add event", f, :events %>kann nicht ein Feld von link_to_add_fields mit Capybara

Dies eröffnet eine Reihe von Feldern, die sich durch simple_fields_for erzeugt werden. Diese Felder werden korrekt im Browser angezeigt, der von meinem lokalen Server ausgeführt wird. Das ist also nicht das Problem.

Allerdings kann ich nicht herausfinden, wie Capybara zu fill_in diese Felder zu bekommen. Capybara löst keinen Fehler beim Klicken auf die Add event Schaltfläche aus link_to_add_fields, aber löst den Fehler, wenn ich versuche, das Formular auszufüllen, sagen, dass es Unable to find field ist. Irgendwelche Ideen?

+1

Sie ein JS fähig Treiber? Zeigen Sie den Code, mit dem Sie versuchen, fill_in zu verwenden, den HTML-Code, den Sie denken, dass der Code gefüllt werden sollte, und den genauen Fehler, den Sie erhalten - http://stackoverflow.com/help/how-to-ask –

+0

@ThomasWalpole Entschuldigung, Ich sollte diese Frage einfach schließen. Dies wird wahrscheinlich auch durch das Setzen von ': js => true' gelöst. Ich kann jedoch nicht überprüfen, dass dies das Problem ist, da ich jetzt ': js => true' eingestellt habe. Folgende Fehlermeldung wird angezeigt: 'Capybara :: Webkit :: InvalidResponseError: URL kann nicht geladen werden: http://cms.eta.dev:5000/auth/identity wegen Fehler beim Laden http://cms.eta.dev:5000/auth/identity: Unbekannter Fehler' Dies ist trotz der Implementierung von DatabaseCleaner. Ich werde an diesem Problem zuerst arbeiten müssen, bevor ich feststellen kann, ob das immer noch ein Problem ist. – RyanQuey

+0

@ThomasWalpole zu bestätigen, obwohl: Ich benutze Capybara WebKit – RyanQuey

Antwort

0

Ich denke, Sie sollten ID in Ihrem link_to_add_fields verwenden und auf diese ID in Ihrem Capybara fill_in zugreifen.

<%= link_to_add_fields "Add event", f, :events, :id => 'something' %>

und verwenden id

fill_in "something", with: 'example'

+0

Ich konnte diese Lösung (oder irgendeine Lösung) noch nicht ausprobieren, da andere Probleme dazu führen, dass der Test nicht mehr so ​​weit ist. Beachten Sie jedoch, dass diese "link_to_add_fields" eine eindeutige ID-Nummer für jede Gruppe von Feldern erstellt, die sie erstellt. Mit anderen Worten, jedes Mal, wenn Sie auf den Link klicken, wird eine neue ID erstellt. Ich müsste einen Weg finden, diese eindeutige ID in den "fill-in" -Befehl einzubauen. – RyanQuey

Verwandte Themen