Ошибка Capybara с NotSupportedByDriverError

Я пытаюсь проверить, работает ли загрузка 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
Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Шаг 1: Создание приложения Slack Чтобы создать Slackbot, вам необходимо создать приложение Slack. Войдите в свою учетную запись Slack и перейдите на...
2
0
1 363
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

  1. Просто проверьте правильность href и атрибутов (скачать и т. д.) или ссылки.
  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

Другие вопросы по теме