Капибара терпит неудачу с NotSupportedByDriverError - PullRequest
0 голосов
/ 09 апреля 2019

Я пытаюсь проверить загрузку csv работает в моем приложении rails. Но его выбрасывает ошибку Capybara::NotSupportedByDriverError: Capybara::Driver::Base#response_headers

  it 'exports as CSV' do
    visit_and_login
    agree_to_tos

    click_link 'Download to CSV'

    page.response_headers['Content-Type'].should include 'text/csv'
  end

1 Ответ

2 голосов
/ 09 апреля 2019

Драйвер селена не обеспечивает доступ к заголовкам ответа (ни к кодам состояния). У вас есть несколько вариантов

  1. Просто проверьте правильность ссылок и атрибутов (скачать и т. Д.) Или ссылку
  2. Настройте драйвер для фактической загрузки файла, а затем откройте и убедитесь, что он правильный.

Прочитайте http://ardesco.lazerycode.com/testing/webdriver/2012/07/25/how-to-download-files-with-selenium-and-why-you-shouldnt.html и затем решите, кого из них вы хотите сделать. Если # 1, то это просто

expect(page).to have_link('Download to CSV', href: 'http://blahblah' )

если # 2, тогда посмотрите на набор тестов Capybara, чтобы узнать, как настроить драйвер селена для фактической загрузки файла - https://github.com/teamcapybara/capybara/blob/master/spec/selenium_spec_chrome.rb#L14

...