【问题标题】:Does Watir-webdriver resolve the difference in indexing bases between Watir and Firewatir?Watir-webdriver 是否解决了 Watir 和 Firewatir 之间索引库的差异?
【发布时间】:2011-07-02 01:09:38
【问题描述】:

能够与 Watir 和 Firewatir 进行真正的跨浏览器兼容测试的障碍之一(据我所知从未消除,但也许我弄错了,这已经解决了?)是 Watir最初设计为使用基于 One 的索引,而创建 firewatir 的人打破了这一点并使其基于零。

虽然我确信每个决定都有很好的历史原因,并且我不想争论哪个是正确的,但对于尝试创建在每个决定下运行的脚本而不做任何更改的测试人员来说,这是一件痛苦的事,因为至少这会影响通过 :index 识别元素,有时您别无选择,只能这样做。

我想知道迁移到 Watir-Webdriver 是否可以创建一个更统一的平台?

我们还有没有提到最新的 Watir 和 Watir-Webdriver 之间的区别?例如,在最近的一个问题中,.value= 没有实现为 .set 的“没有事件的直接集合”替代方案,并且基本上与 .set 的行为相同。

【问题讨论】:

    标签: watir firewatir watir-webdriver


    【解决方案1】:

    这个问题的最佳解决方案是让 Watir 1.X 获得可配置的索引。我相信大部分工作已经在 Bret 的 zero-index 分支上完成了,所以这只是一个问题,需要有人把它拿出来。

    当我们迁移到 watir-webdriver 时,我们添加了这个猴子补丁来帮助解决这个问题:

    class Fixnum
      def as_index
        Config.webdriver? ? self - 1 : self
      end
    end
    

    然后在我们的脚本中:

    browser.div(:index => 1.as_index)
    

    然后,当我们完全离开 Watir 时,只需在整个代码库中查找 as_index 并将索引减一即可。

    我试图在this wiki page 上记录 Watir 和 watir-webdriver 之间的主要区别。我确定它缺乏,如果有人想改进它,那当然是非常受欢迎的:)

    【讨论】:

    • 事实上,Watir 2.0.x 中已经有了一个使用基于零或一的索引的选择器
    猜你喜欢
    • 2018-04-01
    • 1970-01-01
    • 2013-03-27
    • 2011-03-25
    • 2012-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-13
    相关资源
    最近更新 更多