2012-03-09 12 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メソッドを実装していると思いました –

答えて

3

browser.div。(:ID => "someId")

睡眠3

が問題を解決しますホバー。私は同じ問題に直面して睡眠を解決しました:)

1

execute_scriptを使用していくつかのjqueryを呼び出して、「非表示」メニューの表示を無効にすることで、このサイトを回避することができました。この回答を参照してくださいhttps://stackoverflow.com/a/8392467/409820詳細については

これを行う必要が私と他の人が.hoverメソッドを要求した理由の1つで、あなたも試すことができるものです。

(私のスクリプトはまだ動作していますので、まだその特定のトリックを使用しています)b)私は今、他のものに取り組んでおり、それらを試す必要はありません。

関連する問題