There are two ways to attach a file with
Capybara. The more conventional way
is with the
attach_file
method.
Assuming there is a form with a file input similar to the following:
<label for='data-file'>Data File</label>
<input type='file' name='data-file' />
attach_file('data-file', 'path/to/file.csv')
The first argument to attach_file
is a locator which refers to the name
attribute on the input
tag.
If for some reason there is no name
attribute on the input
tag, the file
can be attached with a standard find
and set
.
find('form input[type="file"]').set('path/to/file.csv')