【发布时间】:2013-11-07 07:33:57
【问题描述】:
在我的索引视图中,我定义了以下选择框
<%= select_tag('Country', options_for_select(@countries), :class => 'chosen-select') %>
@countries 在索引控制器中填充如下:
@countries = CountryCode.uniq.pluck(:name)
因此,正如您所见,正在调用数据库以获取国家名称列表以填充选择框。 现在,在我的黄瓜步骤定义文件中,我有
Then(/^I should see a select\-box for Countries$/) do
select 'UNITED STATES', :from => 'Country'
end
这给了我错误Unable to find option "UNITED STATES" (Capybara::ElementNotFound)
但是当我在浏览器中签入时,选择框确实有该选项。使用 capybara 为带有硬编码选项值的选择框选择元素工作正常,但在上述情况下,当使用数据库调用获取选项时,步骤定义失败。我该如何解决这个问题?
请帮忙 谢谢你
【问题讨论】:
-
我认为,Capybara 需要一些时间来加载带有国家列表的选择框。你应该试试睡觉。
标签: ruby-on-rails ruby-on-rails-3 cucumber capybara bdd