我使用Ruby的PageObject进行测试并拥有一个元素
button(:showLocs,:title=>"Show All Items")
在我的网页课程中。
我应该用什么方法检查该页面是否包含此对象? 我认为它应该看起来像
if self.showLocs_element.find then #doing smth
答案 0 :(得分:1)
如果您使用带有Watir的PageObject,您可以使用.exists检查对象是否存在?对象的方法。另外,还有.visible? (如果对象同时是.present?和.displayed?在页面上,则返回true)以及.present?和.displayed?方法本身,如果您想在测试中获得更多粒度。我将在下面总结,以确保这一切都有意义。
watir_element.exists? #=> returns true if the element exists
watir_element.visible? #=> returns true if the element is visible on the page
watir_element.present? #=> returns true if the element exists & is visible on the page
我肯定会在你学习的时候建议在GitHub上为Watir Cheat Sheet添加书签,因为它有助于解决你遇到的一些常见问题以及Watir Wiki。最后,Watir Webdriver.com也有很多可靠的资源。
答案 1 :(得分:1)
button
accessor创建了三个方法 - 一个用于单击按钮,另一个用于返回按钮元素,另一个用于检查按钮的存在。文档中的示例是:
button(:purchase, :id => 'purchase')
# will generate 'purchase', 'purchase_element', and 'purchase?' methods
在您的特定情况下,这意味着您可以使用以下方法检查按钮是否存在:
showLocs?
所以你的if
声明可能是:
if showLocs?
#doing smth
end