2012-01-16 44 views
0

有沒有人知道一個快速的方法來計算表中使用紅寶石,黃瓜&硒的條目數?Cucumber + Selenium - 如何計算表中的行數?

表是非常基本的,我要算行數:

<table id="product_container"> 
<tr> 
    <th>Product Name</th> 
    <th>Qty In Stock</th> 
</tr> 
<tr> 
    <td>...</td> 
    <td>...</td> 
</tr> 
</table> 

回答

3

您可以使用:

page.should have_css "#product_container tr", :count => number_of_rows.to_i 
2

以下步驟定義應與水豚工作。

Then /^I should have (\d+) table rows$/ do |number_of_rows| 
    actual_number = page.all('#product_container tr').size 
    actual_order.should == number_of_rows 
end 

用法:

Then I should have 10 table rows 

page.all documentation

1

我總是用getXpathCount()(硒法)在這種情況下,它工作正常:)
在PHP:

$rowsCount = $this->getXpathCount("//table[@id='product_container']/tr");

如果你不這樣做要算頭行,你應該編輯表:

<table id="product_container"> 
    <thead> 
     <tr> 
      <th>Product Name</th> 
      <th>Qty In Stock</th> 
     </tr> 
    </thead> 
    <tbody> 
     <tr> 
      <td>...</td> 
      <td>...</td> 
     </tr> 
    </tbody> 
</table> 

然後你可以得到產品數:

$rowsCount = $this->getXpathCount("//table[@id='product_container']/tbody/tr");