我的应用程序有一个列表,它的大小会定期更改。所以我需要在开始测试用例之前获得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
它返回方法未找到错误。任何人都可以建议任何解决方案来实现页面对象的方式吗?
答案 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