Capybara检查没有选择器的数字大于500的文本

时间:2015-03-19 02:33:39

标签: capybara

我想检查一下表的所有行中是否有0个大于500的实例。

表格如下:

  <% @trips.each do |trip| %>
      <tr class="trip-row" data-categories= "<%= @categories.map(&:name).join(":") %>">
        <td id="ranking"><%= @trips.index(trip) + 1 %></td>
        <td id="trip-title"> <%= trip.title %> </td>
        <td><%= trip.departure_city %></td>
        <td><%= trip.arrival_city %></td>
        <td><%= trip.departure_airline %></td>
        <td><%= trip.short_description %></td>
        <td><%= trip.departure_date.strftime("%b %d, %Y, %I:%M") %></td>
        <td><%= trip.return_date.strftime("%b %d, %Y, %I:%M") %></td>
        <td><%= trip.price %></td>
        <td><%= link_to "Details", real_trip_path(trip, info: { departure_date: trip.departure_date, return_date: trip.return_date, price: trip.price }), class: "btn btn-info" %></td>
      </tr>
 <% end %>

我可以这样写:

within all(".trip-row") do  
    refute page has.content?   #number greater than 500?
end

1 个答案:

答案 0 :(得分:0)

您可以评估每个单元格中的值,而不是逐行。

page.all(.'trip-row td').each do |c|
  #evaluate here
end

您可能希望使用正则表达式从每个单元格中提取数字,然后使用rspec期望从那里进行评估。

相关问题