【问题标题】:How to count number of matches using page object?如何使用页面对象计算匹配数?
【发布时间】:2015-12-09 08:05:14
【问题描述】:

我的应用程序有一个列表,它的大小经常变化。所以我需要在开始测试用例之前获取 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

它返回方法未找到错误。任何人都可以提出任何解决方案来以页面对象的方式实现这一目标吗?

【问题讨论】:

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


    【解决方案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
    

    【讨论】:

    • 按预期工作!谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-11
    • 2015-06-25
    • 2013-05-07
    • 2021-02-03
    • 1970-01-01
    • 1970-01-01
    • 2015-04-20
    相关资源
    最近更新 更多