在Ruby中验证表的标题行

时间:2017-04-27 19:58:44

标签: ruby scroll rspec cucumber watir

所以我试图在页面上抓取一行表格标题:

 header_row = @page.send('header_row_element')
 headers = header_row.ths.collect { |th| th.text }
  table_of_elements.raw.flatten.each do |option|
    expect(headers).to include option
  end

Note: table_of_elements is coming from a Cucumber Table ie:
   | value         |
   | another value |
   | etc           |

我在页面上找到标题行并返回值没有问题,但我的问题是该表位于滚动窗口

因此代码headers = header_row.ths.collect { |th| th.text }返回的数组只包含滚动当前位置视图中的标题: headers = [“value”,“另一个值”,“”,“”]

我似乎无法处理侧滚动窗口以获取视图中的其他标题。我尝试过 RAutomation send_keys ,似乎没什么用。我不确定为什么ths.collect方法无论可见性如何都不会返回所有值。

1 个答案:

答案 0 :(得分:1)

如何实现滚动窗口将影响是否将文本检测为可见。例如,某些滚动窗口将溢出文本设置为隐藏,这将导致Selenium / Watir看不到文本。我相信这是一些DevExtreme控件,我遇到了这个。

如果th元素中没有标记,最简单的解决方案是收集内部HTML。这将允许您绕过可见性检查:

headers = header_row.ths.collect { |th| th.inner_html }