【问题标题】:Watir PageObject Indexed_Property not using string substitutionWatir PageObject Indexed_Property 不使用字符串替换
【发布时间】:2014-10-14 23:32:25
【问题描述】:

在几个地方,我创建了一个 indexed_property,但是当我调用它时,索引始终为 1。

indexed_property(:team, [
  [:span, :team, {css: 'article#AssignTeams-Teams table tr:nth-child(%s) td:nth-child(1) span'}]
])

已实现:

assign_teams_page.team[5].team_element

当我在其上放置断点并进行调用时,元素的选择器为:

article#AssignTeams-Teams 表 tr:nth-child(1) td:nth-child(1) 跨度

它应该是 tr:nth-child(5) 而不是 tr:nth-child(1)。为什么我会看到这个,我该如何解决?

【问题讨论】:

  • 你能把重现问题的 HTML 页面和整页对象放在一起吗?我尝试使用相同的 indexed_property,它对我来说效果很好。
  • 查找元素不是我的问题,%s 没有得到正确的数字。那不应该依赖于实际的页面,不是吗?
  • 对不起,我没想到注释得非常彻底。您可能是对的,页面无关紧要。我的观点是,我们将受益于拥有一个任何人都可以复制并执行以查看问题的独立脚本(至少我无法从当前信息中重现它)。
  • 我无法重现任何与正在发生的事情相当接近的东西。

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


【解决方案1】:

当前页面对象 1.0.2 中存在一个错误,它会导致索引属性在您第一次调用它们时保留定义。所以如果你打电话:

assign_teams_page.team[1].team_element
assign_teams_page.team[5].team_element

每次都会使用索引 1。有一个修复程序,但尚未发布。您可以通过降级到页面对象 1.0.0 或升级到 1.0.3 来解决此问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-25
    • 1970-01-01
    • 2018-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多