3

Selenium 2.25.0を使用して、WebアプリケーションのGUIテストを自動化しています。このアプリケーションには、ユーザーに特定のフォームセットを案内し、それに応じてアプライアンスを構成するセットアップウィザードがあります。フォームは動的に生成され、共通の戻る/次へボタンのセットがあります。特定のページで、次のボタンはclick()しません。

このボタンのDimensions(size())が> 0であることを確認しました。ボタンがフォーカスされているのがわかりますが、クリックされません。また、click()メソッドは例外をスローしません。

最終的に、コードの次の行での明示的な待機がタイムアウトし、テストが失敗します。ブラウザはFirefoxであり、最近まで、同じコードが正常に機能していました。

これは既知の問題のようです。その場合、回避策はありますか?このソリューションは、Firefox/ChromeおよびIEで動作します。

使用を提案した人

driver.manage.Timeout().PageLoadTimeouts()

ただし、コードにすでに明示的な待機がある場合は、それほど冗長ではありません。

4

2 に答える 2

3

http://seleniumhq.org/docs/04_webdriver_advanced.htmlをご覧ください。また、正しいフレームに正しく焦点が合っていることを確認してください。

于 2012-11-01T01:02:13.437 に答える
2

コードがボタンを見つけた後、ボタンをクリックする前に、要素のlocation_once_scrolled_into_viewメンバー変数を、使用したことがない場合でも、変数に割り当てる行を挿入する必要があります。理由はわかりませんが、クリックが実際にマークに当たることを保証します。(テストスクリプト全体で使用しており、機能しているようです。)

例:

button = driver.find_element_by_id("MyButton")
ScrollLocation = button.location_once_scrolled_into_view
button.click()
于 2013-08-29T16:28:30.437 に答える