Update: Capybara 2.12 hinzugefügt, um eine make_visible
Option attach_file
so bei Verwendung von 2.12+ Sie zuerst
attach_file('file[picture]', 'path/to/file.png', make_visible: true)
bevor sie direkt ausprobieren können mit execute_script
selbst
Dateieingaben sind ein Sonderfall, da sie oft aus Stylinggründen ausgeblendet werden und ein modales System für die Interaktion verwenden. Capybara macht es schwer, in versteckten Feldern auf einer Seite zu füllen, weil Nutzer in der Regel nicht mit ihnen interagieren können, so dass für Datei-Eingänge normale Praxis execute_script
zu benutzen, ist sie sichtbar zu machen und füllen sie dann in.
execute_script("$('input[name=\"file[picture]\"]').removeClass('hidden')") # assumes you have jQuery available - if not change to valid JS for your environment
attach_file('file[picture]', 'path/to/file.png') # takes id, name or label text of field not a random selector
make_visible: true +1 –