如何为红宝石/瓦蒂尔和页面对象创建表集合



我有一个包含一系列动态表格的页面。
我希望能够遍历这些表,将它们转换为哈希(使用 .hashes 方法)并将它们与 .yml 文件中的数据进行比较。但我似乎无法让收藏品发挥作用。

这是一次尝试(使用虚拟页面):

class ViewOnlyPages
  include PageObject
  page_url("https://developers.google.com/chart/interactive/docs/examples")
  tables(:all_tables, :class =>'google-visualization-table-table')
  def verify_page_against(page_name, dataset)
  #load data from Yml
  #hash spin through all tables (for each table, read each record into hash?)
  self.all_tables.each do |table|
    puts table.hashes
    puts '---'
  end
end

tables 访问器方法类似于 elements 访问器方法。创建的方法实际上是all_tables_elements的,而不是创建all_tables方法(请注意"_elements"部分)。

换句话说,对表的迭代应该是:

self.all_tables_elements.each do |table|
  puts table.hashes
  puts '---'
end

请注意,这实际上不会为示例页面创建任何输出。表的当前定义假定它们位于主页中。但是,在这种情况下,表位于 iframe 中。您需要明确说明何时在 iframe 中查找。要获得输出,应在in_iframe块中定义表:

in_iframe(:class => 'framebox') do |frame|
  tables(:all_tables, :class =>'google-visualization-table-table', :frame => frame)
end

相关内容

  • 没有找到相关文章

最新更新