我有一个包含一系列动态表格的页面。
我希望能够遍历这些表,将它们转换为哈希(使用 .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