Одним из раствора это - http://it.fyber.com/blog/2012/11/29/capybara-poltergeist-and-csv-downloads/
Другой заключается в использовании библиотеки CSV Ruby.
Загрузить CSV-файл здесь.
id,name,note
1,name1,note1
2,name2,note2
3,name3,note3
И, файл спецификации
require 'csv'
feature "Products", :type => :feature do
describe "Download CSV" do
# ... click csv download button by Capybara
rows = CSV.parse(page.body, :row_sep => "\r\n", :force_quotes => true)
# [["id", "name", "note"], ["1", "name1", "note1"], ["2", "name2", "note2"], ["3", "name3", "note3"]]
# assert csv header
header = rows[0]
expect(header).to eq ["id", "name", "note"]
# assert csv rows
# it's better to define expected csv rows and use `each` method
expect(rows[1]).to eq ["1", "name1", "note1"]
expect(rows[2]).to eq ["2", "name2", "note2"]
expect(rows[3])>to eq ["3", "name3", "note3"]
end
end
Какое время полтергейста скачать и что вы хотите тест для файла? – shoji
Полтергейст пытается загрузить CSV-файл; Я хочу проверить фактический контент, чтобы убедиться, что он как и ожидалось. – Daniel
Спасибо. Как насчет этой статьи http://it.fyber.com/blog/2012/11/29/capybara-poltergeist-and-csv-downloads/ – shoji