如何使用页面对象计算匹配数?

时间:2015-09-13 02:56:20

标签: ruby watir watir-webdriver pageobjects page-object-gem

我的应用程序有一个列表,它的大小会定期更改。所以我需要在开始测试用例之前获得li计数。所以这就是我以前的计算方法

b.lis(:xpath => "//ul[@id='global_nav']/li[contains(@id, 'nav-')]").count

现在我需要以页面对象的方式实现这一点。我在页面文件中声明了如下列表。

list_item(:global_nav_count, :xpath => "//ul[@id='global_nav']/li[contains(@id, 'nav-')]")

如果我试着计算如下

page.global_nav_count_element.count

它返回方法未找到错误。任何人都可以建议任何解决方案来实现页面对象的方式吗?

1 个答案:

答案 0 :(得分:1)

list_item访问器类似于Watir的li方法,因为它返回第一个匹配元素。如果你想要一个元素集合,你需要告诉页面对象。

li元素集合的访问者是list_items(注意复数):

list_items(:global_nav_count, :xpath => "//ul[@id='global_nav']/li[contains(@id, 'nav-')]")

为访问集合而创建的方法也是多元化的:

page.global_nav_count_elements.count