【发布时间】:2016-05-13 15:42:45
【问题描述】:
我有一个 rspec/capybara 测试失败并出现以下错误,因为 Selenium 不支持标头,但是此测试适用于 :rack_test 驱动程序。由于我的许多其他测试严重依赖Selenium,我无法将驱动程序更改为:rack_test。
我该如何解决这个问题?有没有办法使用:rack_test 驱动程序运行这个特定的测试,而其他测试仍然使用默认的:selenium 驱动程序?
error-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 => 'user@payments.org'
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
【问题讨论】:
标签: ruby-on-rails ruby selenium rspec capybara