2011-09-14 16 views
7

Làm cách nào để kiểm tra thông báo "Vui lòng điền vào trường này" xuất hiện phía trên các trường bắt buộc khi chúng được gửi trống?Làm cách nào để kiểm tra các trường yêu cầu Rails 3.1/HTML5 với Cucumber/Capybara?

Hiện tại, kịch bản dưa chuột của tôi dường như bỏ qua trường trống hoàn toàn, gửi biểu mẫu thành công.

(tôi xác nhận sự hiện diện các lĩnh vực, và khi nộp bằng tay, hình thức không hiển thị thông báo)

+1

Bạn đang sử dụng trình điều khiển Capybara nào? (ví dụ: cơ giới hóa, selen) –

+0

Chỉ cần kiểm tra, nhưng có một validates_presence_of trên trường và nó vẫn được chấp nhận khi gửi? – Tonys

+0

@AndyWaite là mặc định, nhìn vào capybara README bây giờ có vẻ như là: rack_test. và nó không hỗ trợ javascript, mà tôi không mong đợi. vì vậy câu trả lời sẽ là sử dụng một trình điều khiển js? – oliverbarnes

Trả lời

0

Nếu đây là một cảnh báo javascript dựa, bạn cần phải sử dụng một cái gì đó như: lái xe selen.

# 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 

Bằng cách đó và gắn thẻ kịch bản của bạn với @javascript, chỉ cần sử dụng một bước như Then I should see "Please fill out this field" nên làm việc.

I have a gist up that summarizes using :selenium, :capybara-webkit, headless gem for both development and continuous integration. Nó có thể hữu ích cho thiết lập của bạn, nhưng nó cũng có thể nhiều hơn bạn đang tìm kiếm vào lúc này.

Các vấn đề liên quan