2

对于 POM,我还是新手(ish),但我发现语法和一般结构非常强大,所以现在我正在寻找高级技术。

我有一个动态页面,并且对于每个部分,我都在运行以下代码/伪代码

if has_SECTVAR1?
   $LOG.info("Stuff")
end

if has_SECTVAR2?
   $LOG.info("Stuff")
end

我想做的是这样的。

ALLSECTIONARRAYS.each do |var|
  if has_var?
    $LOG.info("Stuff")
  end
end

有什么想法吗?

4

1 回答 1

1

您可以使用#mapped_items. 更有趣的部分是通过调用来检查页面上是否存在这些内容#has_element?

您想要做的抽象版本是在对象上调用一个方法,将其名称作为字符串。为此,请使用#send

MyObject.send("method_name", *args)

或者在你的情况下:

MyPage.send("has_element?")

最后,遍历所有元素:

MyPage.mapped_items.each do |item|
  if MyPage.send("has_#{item}?")
    $LOG.info("Stuff")
  end
end
于 2016-09-06T21:30:28.803 回答