如何使用Cucumber/Capybara测试Rails 3.1/HTML5必填字段?

oli*_*nes 7 html5 cucumber capybara ruby-on-rails-3.1

当提交为空时,如何查看必填字段上方显示的"请填写此字段"消息?

现在我的黄瓜场景似乎完全忽略了空场,成功提交了表格.

(我正在验证字段的存在,并且在手动提交时,表单会显示消息)

kro*_*oss 0

如果这是基于 javascript 的警报,则需要使用类似 :selenium 驱动程序的东西。

# Set selenium as the default driver for javascript
Capybara.javascript_driver = :selenium

# Register chrome browser for the :selenium driver
Capybara.register_driver :selenium do |app|
  Capybara::Selenium::Driver.new(app, :browser => :chrome)
end
Run Code Online (Sandbox Code Playgroud)

在这样做并使用 标记您的场景时@javascript,只需使用类似的步骤Then I should see "Please fill out this field"就可以了。

我有一个要点总结了使用 :selenium、:capybara-webkit、headless gem 进行开发和持续集成。它可能对您的设置有帮助,但也可能超出您目前的需求。