Огурец + селен - Как посчитать количество строк в таблице? - PullRequest
0 голосов
/ 17 января 2012

Кто-нибудь знает быстрый способ подсчета количества записей в таблице с использованием Ruby, 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 ]

3 голосов
/ 17 января 2012

Вы можете использовать:

page.should have_css "#product_container tr", :count => number_of_rows.to_i
2 голосов
/ 17 января 2012

Я всегда использую getXpathCount () (метод Selenium) в такой ситуации, и он отлично работает :)
В 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");
2 голосов
/ 17 января 2012

Следующее определение шага должно работать с Capybara.

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 документация .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...