我有一个包含以下date_field助手的预订搜索表单:
<%= date_field(:reservation, :arrival_date) %>
如何使用水豚为这个date_field标签选择特定日期?
我尝试在我的规范中select "2014-01-01", from: "reservation_arrival_date"
,但在运行规范时出现Capybara::ElementNotFound:
错误。
提前感谢!
如文档中所述,date_field
不会产生<select>
标签,而是产生<input type='date'>
这就是为什么你不能使用Capybara::Node::Actions#select
。
相反,只需将其视为常规输入字段:
fill_in "reservation_arrival_date", with: "2014/01/01"
2020年:
fill_in :reservation_arrival_date, with: '2020-01-01'
找到在date_field标签中单击并选择日期的方法,而是执行以下操作:
page.find('#reservation_arrival_date').set("2014-01-01")
这非常有效,我发现这种方法非常简单。但我不确定这对于集成测试来说看起来有多"尴尬"。