如何测试表单重置按钮

时间:2013-01-30 14:50:44

标签: ruby-on-rails capybara reset

Google搜索并找不到有效的解决方案...... 使用Rails 3.2.11,RSpec 2.12.2 Capybara 2.0.2我试图测试"重置按钮"在表单上(使用浏览器测试时工作正常)

我试过这段代码

scenario "Fill form then reset it" do
  visit contact_path
  fill_in 'message_name', :with => 'abc'
  fill_in 'message_email', :with => 'abc'
  fill_in 'message_subject', :with => 'abc'

  click_on 'Reset form'

  expect(page).to find_field('message_name').value.should == ''
end

测试因此错误而失败

 expected: ""
 got: "abc"
(compared using ==)

似乎字段根本没有重置..(但在浏览器中它们是)

我错过了什么?这个版本的Capybara或Rspec有什么新东西?

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

我的错,

此类功能/场景需要js驱动程序。

Seyium包含在水豚宝石中,但我忘了在我的功能中激活它。为了让它工作,我只需要更改行

scenario "Fill form then reset it" do

到这个

scenario "Fill form then reset it", :js => true do

根据文件https://github.com/jnicklas/capybara#using-capybara-with-rspec。现在一切正常......

希望它可以帮助别人...... 干杯