2011-09-14 103 views
7

當提交空白時,如何檢查顯示在必填字段上方的「請填寫此字段」消息?如何使用Cucumber/Capybara測試Rails 3.1/HTML5必填字段?

現在我的黃瓜場景似乎完全忽略了空白字段,提交表單成功。

(我驗證領域的存在,並手動提交時,形式確實顯示的消息)

+1

你正在使用什麼水豚司機? (例如,機械化,硒) –

+0

只需檢查,但是在現場是否有validates_presence_of,並且在提交時仍然被接受? – Tonys

+0

@AndyWaite默認情況下,從剛纔查看水豚自述文件開始,它看起來像是:rack_test。它不支持javascript,我沒有想到。所以答案是使用js驅動程序? – oliverbarnes

回答

0

如果這是一個基於JavaScript警告,你需要使用類似的:硒驅動程序。

# 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 

這樣做,並與@javascript標記的情況下,簡單地使用像Then I should see "Please fill out this field"一步應該工作。

I have a gist up that summarizes using :selenium, :capybara-webkit, headless gem for both development and continuous integration。它可能對您的設置有幫助,但也可能比您目前所尋找的要多。