如何使用水豚来验证记录数量

Nic*_*ilt 31 html ruby cucumber capybara

我在Rails 2.3.9项目中使用水豚和黄瓜.

我有用户索引页面,我有两个记录.使用capybara如何断言页面中只有两条记录.

HTML结构是这样的

<div class='records'>
  <li>record 1<li>
  <li>record 2 </li>
</div>
Run Code Online (Sandbox Code Playgroud)

Mar*_*ton 48

这应该是你的Cucumber步骤定义的技巧:

page.has_css?("div.records li", :count => 2)
Run Code Online (Sandbox Code Playgroud)

还有page.has_xpath?(但我不懂xpath)

如果您正在使用Rspec,您可以使用Rspec方式将其标记为:

page.should have_css("div.records li", :count => 2)
Run Code Online (Sandbox Code Playgroud)

我昨天必须解决一个非常类似的问题; 这是我最终的完整步骤定义.

Then /^I should see only (\d+) tasks$/ do |number_of_tasks|
  page.should have_css("table tr.task", :count => number_of_tasks.to_i)
end
Run Code Online (Sandbox Code Playgroud)