2016-05-13 13 views
0

私はSeleniumがヘッダをサポートしていませんので、次のエラーで失敗します::rack_testドライバでうまく動作します。私の他の多くのテストは、Seleniumに大きく依存しているので、ドライバを:rack_testに変更することはできません。ヘッダをチェックする際にエラーが発生しました:rspec/capybaraテストでセレンウェブドライバ

これを修正するにはどうすればよいですか?他のテストでもデフォルトの:seleniumドライバを使用している間に、:rack_testドライバでこの特定のテストを実行する方法はありますか?

誤りreport.xml

<failure message="Capybara::Driver::Base#response_headers" type="Capybara::NotSupportedByDriverError"> 
     <![CDATA[Capybara::Driver::Base#response_headers 
./spec/feature/transaction_search_spec.rb:35:in `block (2 levels) in <top (required)>']]> 
    </failure> 

rails_helper.rb

Capybara.ignore_hidden_elements = false 
Capybara.configure do |c| 
    c.default_driver = :selenium  # BREAKS :( !!!!! 
    c.app_host = "http://localhost:3000" 
end 

transaction_search_spec.rb

require 'rails_helper' 
require 'capybara/rspec' 

RSpec.feature 'Transaction Search' do 

    scenario ' - Download CSV scenario' do 
    visit '/signin' 
    fill_in 'Email', :with => '[email protected]' 
    fill_in 'Password', :with => 'Password123' 
    page.find('#login').click 

    expect(page).to have_content('Stores:') 

    # search page 
    visit '/search' 
    expect(page).to have_content('Search') 
    click_button 'Search' 

    sleep 5 

    click_button 'Download CSV' 
    expect(page.response_headers['Content-Type']).to eq('text/csv; charset=utf-8; header=present') 
    # expect(page.response_headers['Content-Disposition']).to match('filename="transactions.csv"') 
    end 

end 

答えて

0

はい、:driver => :rack_testオプションをテストのscenario行に渡すことができます。ドキュメント化された例については、Capybara READMEのthis sectionを参照してください。

関連する問題