2012-12-05 29 views
0

我正在使用Watir-Webdriver進行自動測試。但跨瀏覽器似乎並不穩定。例如,它通常在Firefox和Chrome中運行良好,但在IE中不穩定。 當我得到一個元素,並點擊,在ie7,8,9它以不同的方式響應。 該按鈕可以被點擊,但沒有發生。 我已經嘗試了很多方法,例如:單擊,單擊(),send_key,fire_event,但我仍然沒有獲得跨瀏覽器單擊的最終解決方案。 例如,在ie9中,當使用點擊時,有時它會完美,有時候不會,我不知道原因。跨瀏覽器單擊watir-webdriver

我們是否有一個解決方案,如一個函數允許我們點擊成功在多個瀏覽器中的元素(特別是在IE7,8,9)?

+1

請提供指向該頁面或類似鏈接或相關HTML的鏈接。另外,請提供相關的Ruby代碼。 –

回答

0

我認爲IE瀏覽器使用不同的方法來「點擊」比其他瀏覽器。因此,除非焦點不間斷,否則它是不可預測的。另一種方法可能是專門爲IE使用Watir Classic,因爲它使用COM對象而不是Javascript。

+0

這可能是,或者它可能只是瀏覽器的速度。 IE9中的Javascript引擎,當前的Chrome和Firefox都很快被阻止。舊版本的Firefox(真正老)或者IE8及以下的版本都非常慢。 如果頁面有很多JS呈現的內容或Ajax'y類型的東西,可能是腳本正在嘗試繼續,而頁面仍在做客戶端JS的東西(請注意,瀏覽器報告它已完成加載'時,它具有基本頁面中的所有文件,並且JavaScript的東西仍然可以在這種情況發生後.. –

0

嘗試使用.when_present修飾器,以確保您沒有嘗試點擊未處於準備點擊狀態的內容..有時適用於較慢瀏覽器,如舊版IE瀏覽器。

browser.link(:id => "foo").when_present.click