Ruby 是否可以动态创建页面对象元素
我正在使用Cheezy的页面对象gem。它在大多数情况下工作得非常好,但在处理动态创建的元素时,我似乎无法利用它。我有一种方法,可以通过将单元格的文本内容传递给该方法并在操作时识别元素来单击单元格Ruby 是否可以动态创建页面对象元素,ruby,cucumber,watir,watir-webdriver,page-object-gem,Ruby,Cucumber,Watir,Watir Webdriver,Page Object Gem,我正在使用Cheezy的页面对象gem。它在大多数情况下工作得非常好,但在处理动态创建的元素时,我似乎无法利用它。我有一种方法,可以通过将单元格的文本内容传递给该方法并在操作时识别元素来单击单元格 def select_row (row_contents) cell(:row, :text => /#{row_contents}/i) self.row.click end 我相当肯定这不起作用,因为元素在运行时没有为其生成方法。有人能告诉我一种用页面对象以这种方式动态创建
def select_row (row_contents)
cell(:row, :text => /#{row_contents}/i)
self.row.click
end
我相当肯定这不起作用,因为元素在运行时没有为其生成方法。有人能告诉我一种用页面对象以这种方式动态创建元素的方法吗
def select_row (row_contents)
self.class.cell(:row, :text => /#{row_contents}/i)
self.row_element.click
end
更改是,应在pageobject
的class
上调用cell
方法,因为它是类级方法
更改是,应在
pageobject
的class
上调用cell
方法,因为它是类级方法请注意,您可以使用。您的方法可以简单地写为:
def select_row(row_contents)
cell_element(:text => /#{row_contents}/i).click
end
请注意,您可以通过使用查找类似于Watir的元素。您的方法可以简单地写为:
def select_row(row_contents)
cell_element(:text => /#{row_contents}/i).click
end
由于此页面对象的所有实例现在都将有此
行
元素,因此在执行此操作时应小心。由于此页面对象的所有实例现在都将有此行
元素,因此在执行此操作时应小心。