我發現watir-webdriver在非常大的頁面上通過regexp定位元素非常緩慢,這在FF 8.0.1中對我來說至少是正確的。飛行搜索結果頁上實施例(含有約50個搜索結果,它們中的每是HTML結構的良好部分):watir-webdriver在很長的頁面上使用正則表達式定位元素非常緩慢
1.
irb(main):057:0>
t=Time.now;browser.div({:id=>」flightModule40」}).exists?;puts
」#{Time.now-t}」 #=> 0.202
2.
irb(main):056:0>
t=Time.now;browser.div({:id=>/flightModule40/}).exists?;puts
」#{Time.now-t}」 #=> 131.046
3。
irb(main):058:0>
t=Time.now;browser.div({:id=>/flightModule/, :index=>40}).exists?;puts
」#{Time.now-t}」 #=>—is working for 30 minutes for me already…
所有上述作品以可接受的速度的的Watir 1.6.5和2.0.4的Watir在IE8。
爲了比較,下面是一些IE8次使用針對IE8的Watir-的webdriver和FF3.6
的Watir-的webdriver:
- => 0.172017
- & 3. =>超時: :錯誤:/ruby/1.8.7-p334/lib/ruby/1.8/timeout.rb:64:執行由C過期在`rbuf_fill」
的Watir-的webdriver與FF3.6:
- => 0.055005,
- => 80.095009,
- => 101.734173。
進入被測頁面的步驟 - www.expedia.co.uk/Flights,執行往返搜索航班並切換到結果頁面上的返回航班選項卡。
有沒有任何線索爲什麼會發生這種情況?
你在玩幾個變量,無論是瀏覽器,您使用的驅動程序..可能我建議用watir-webdriver與IE8(也可能是Chrome)一起嘗試它,以便我們可以看到這是否同樣緩慢呢?如果在任何一個瀏覽器下watir-webdriver都不好,vs如果它只是firefox,可以告訴我們更多關於問題可能出在哪裏。可能也想嘗試firefox 3.6,因爲大量的FF用戶都抱着該版本,而不是由於插件兼容性問題而升級。 –
嗨Chuck。在IE8上watir-webdriver: 1 => 0.172017, 2&3 =>超時::錯誤:執行過期 來自C:/ruby/1.8.7-p334/lib/ruby/1.8/timeout.rb:64 :在'rbuf_fill' ... 的Watir-的webdriver與FF3.6: 1 => 0.055005, 2 => 80.095009, 3 => 101.734173。 Page - 從http://www.expedia.co.uk/Flights進行往返搜索並切換到返回航班選項卡。 Timeout :: Error - 將引發一個單獨的問題。昨天通過的測試開始失敗,今天超時(沒有更新寶石) - FF8.0.1。但顯然在IE8中最後2次操作花費了1分多鐘才排除異常。 –
好的,我編輯了問題來插入數據。有趣的是,在IE瀏覽器中,它會在一兩分鐘後超時,但是你對FF8的說法卻是超過30分鐘。我對webdriver內部的專家還不夠,但希望這會讓更多人能夠與之合作。 –