代码之家  ›  专栏  ›  技术社区  ›  Nick Vanderbilt

如何使用capybara验证记录数量

  •  31
  • Nick Vanderbilt  · 技术社区  · 14 年前

    我在轨道2.3.9项目中使用水飞蓟和黄瓜。

    我有用户索引页,在那里有两个记录。如何使用capybara断言页面中只有两个记录。

    HTML结构如下

    <div class='records'>
      <li>record 1<li>
      <li>record 2 </li>
    </div>
    
    1 回复  |  直到 12 年前
        1
  •  48
  •   Mark Weston    14 年前

    这应该对你的黄瓜步骤定义有帮助:

    page.has_css?("div.records li", :count => 2)
    

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

    如果您使用的是rspec,可以用rspec的方式表达它:

    page.should have_css("div.records li", :count => 2)
    

    我昨天不得不解决一个非常相似的问题;下面是我最后得出的完整步骤定义。

    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