2010-09-12 13 views
31

Ich verwende Capybara zusammen mit Gurke auf einem Projekt Rails 2.3.9.So überprüfen Sie die Anzahl der Datensätze mit Capybara

Ich habe Benutzer Indexseite und ich habe zwei Datensätze dort. Mit Capybara, wie behaupte ich, dass es nur zwei Datensätze auf der Seite gibt.

HTML-Struktur ist wie folgt

<div class='records'> 
    <li>record 1<li> 
    <li>record 2 </li> 
</div> 

Antwort

48

Diese den Trick für Ihre Gurke Schritt Definition tun sollten:

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

Es gibt auch page.has_xpath? (aber ich verstehe nicht, XPath)

Wenn Sie Rspec verwenden, können Sie den Rspec-Weg wie folgt formulieren:

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

Ich musste gestern ein sehr ähnliches Problem lösen; Hier ist die vollständige Schrittdefinition, mit der ich endete.

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 
+0

'page.should have_select (" Tabelle tr ",: count => 2)' funktioniert auch –

Verwandte Themen