Attach A File With Capybara
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')Last updated
Was this helpful?