1

我正在使用 Cheezy 的页面对象 gem。它在大多数情况下都能很好地工作,但在处理动态创建的元素时我似乎无法使用它。我有一种通过将单元格的文本内容传递给方法并在操作时识别元素来单击单元格的方法

def select_row (row_contents)
    cell(:row, :text => /#{row_contents}/i)
    self.row.click
end

我相当确定这不起作用,因为该元素在运行时没有为其生成方法。有人可以告诉我一种以这种方式动态创建带有页面对象的元素的方法吗?

4

2 回答 2

3

请注意,您可以使用NestedElements定位类似于 Watir 的元素。您的方法可以简单地写成:

def select_row(row_contents)
  cell_element(:text => /#{row_contents}/i).click
end
于 2013-12-03T20:44:29.087 回答
3
def select_row (row_contents)
    self.class.cell(:row, :text => /#{row_contents}/i)
    self.row_element.click
end

变化是,该cell方法应该被调用,class因为pageobject它是一个类级别的方法

于 2013-12-03T20:24:48.390 回答