Ruby Watir迭代列表并查找元素

时间:2017-03-28 11:28:01

标签: ruby watir watir-webdriver webautomation

我有一个无序列表。 UL-列表

------------ li-ola
Ola
Description 
------------ li-james
James
Description
------------ li-jake
Joe
Description
------------

使用相同的ID名称"描述"将所有描述嵌入到div中。 我需要验证列表中的所有项目都有描述。不知道列表有多大。

到目前为止,我有:

bb = @browser.ul(:id => 'ul-list')
bb.lis.each do |li|
  fail unless @browser.div(:class => 'description').exists?
end

修复了我之前的错误,但现在即使列表中没有任何内容,测试也会通过。 :/

示例HTML

<ul id=“ul-list”>
<li id=“li-ola”>
        <div class=“return”>
          <table>
            <tbody>
            <tr class=“info_return”>
              <td class="info_return_label">Brand</td>
              <td class="info_return_value">
              Ola
              </td>
            </tr>
            <tr class="info_return_row">
              <td class="info_return_desc_label">Description</td>
              <td class="info_return_description">
              Test Data
              </td>
            </tr>
            </tbody>
          </table>
        </div>
      </li>
</ul>

1 个答案:

答案 0 :(得分:0)

对于您的示例html,此代码会打印success。你确定它不适合你吗?

bb = browser.ul(:id => 'ul-list')
bb.lis.each do |li|
  puts 'success' if li.td(:class => 'info_return_description').exists?
end