1

我对 Watir 很陌生。

我正在寻找一种方法来检测子程序接收到的对象类型,以便应用正确的方法。最终结果应该是这样的:

sub clickOnElement (elementId, elementRef)
element= browser.(elementId.to_sym, elementRef)
case TypeOfElement (element)
   :link            element.click
   :radio           element.set
   :checkbox        element.set
   :list            ....
end
end

我的问题是关于 TypeOfElement() 的实际实现。

任何建议或指针表示赞赏:提前谢谢你

塞尔吉奥

4

1 回答 1

3

您可以根据元素变量的类(在将其转换为其子类型之后)执行 case 语句。这样您就不必实现自己的 TypeOfElement 方法。

就像是:

e = browser.element
case e.to_subtype
    when Watir::CheckBox
        e.set
    when Watir::Anchor #Link
        e.click
    else
        raise( e.class.to_s + ' not handled' )
end

笔记:

于 2012-06-15T14:35:54.107 回答