2012-03-09 54 views
1

我一直在使用Watir來自動測試我公司的主要Web應用程序。測試需要鼠標懸停在JavaScript下拉菜單,並在該菜單上點擊鏈接。Watir Webdriver fire_event onmouseover不再工作

$browser.link(:id=> 'element').fire_event "onemouseover" 

工作完美,直到我們改變了應用程序的外觀和感覺。對外觀感覺的改變似乎沒有以任何方式改變HTML外觀和菜單的工作方式。其他一切都與Watir正常工作。

我用這似乎爲別人打工的解決方案試圖通過包括:

class Watir::Element 
    def hover 
    assert_exists 
    driver.action.move_to(@element).perform 
    end 
end 

,並使用

browser.div(:id => "someId").hover 

但是,當菜單出現時他們立即離開駕駛員面前有機會點擊菜單項。

+0

我認爲最新版本的watir-webdriver實現了.hover方法 – 2012-03-09 20:40:32

回答

3

browser.div。(:ID => 「someId」)懸停

睡眠3

將解決這個問題。我面臨同樣的問題,睡眠解決了它:)

1

我已經成功解決了這個問題(通過提供站點使用jQuery),通過使用execute_script來觸發一些jquery來覆蓋隱藏菜單上的可見性。看到這個答案https://stackoverflow.com/a/8392467/409820瞭解更多信息

需要這樣做是我和其他人請求.hover方法的原因之一,所以這也是您可以嘗試的方法。

(我的腳本仍在使用特定的技巧,因爲a)它正在工作,b)我正在處理其他的東西,並且沒有迫切的需要擺弄它們。