2011-07-01 41 views
2

Watir和Firewatir能夠真正實現跨瀏覽器兼容性測試的障礙之一(據我所知,從來沒有被刪除,但也許我錯了,這是前面解決?)是Watir是最初設計使用一個基於索引,而誰創造firewatir打破了這一點,並使其基於零。Watir-webdriver是否解決了Watir和Firewatir之間索引基礎的差異?

雖然我確定每個決定都有很好的歷史原因,但我不想辯論哪一個是正確的,但是對於試圖創建在每個決策下運行的腳本而沒有任何更改的測試人員來說,至少這會影響識別元素:索引,這有時是你別無選擇,只能做的事情。

我在想如果搬到Watir-Webdriver可以創建一個更統一的平臺嗎?

我們也有任何提及最新的Watir和Watir-Webdriver之間的區別嗎?例如,在最近的一個問題中,它提出.value =沒有作爲一個'沒有事件的直接設置'替代.set來實現,基本上和.set一樣。

回答

4

這個問題的最佳解決方案是讓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進行查找並將索引減1。

我試着記錄了Watir和watir-webdriver在this wiki page上的主要區別。我相信它是缺乏的,如果有人想改善它,當然非常歡迎:)

+0

而事實上,選擇器使用零基或一基索引現在在Watir 2.0.x –

相關問題