1

私は3か月ほどセレンを扱ってきました。私のテストは Firefox 3.6 で問題なく動作しました。しかし、Firefox 4 と selenium-server 2.0b3 にアップデートすると、確認ダイアログに問題が発生します。

コードは次のとおりです (非常に単純です)。

choose_ok_on_next_confirmation
click("delete_button")
get_confirmation
wait_for_page_to_load

私はよく検索し、assert_confirmation や store_confirmation など、他の多くのことを試しました。is_confirmation_presentうまくいきませんでした。彼らは私が思うダイアログを検出できません。

Firefox 3.6 にダウングレードしたところ、問題なく動作しました。

誰も理由を知っていますか?Firefox 4 の仕組みについてはよくわかりません。そして、私はまだこの問題をパートナーに説明しなければなりません。

4

2 に答える 2

0

はい、Selenium issue tracker には、この問題を確認するコメントがいくつかあります -- http://code.google.com/p/selenium/issues/detail?id=27、そして私自身の経験も同じことを示しています。

この問題の理由は、特定の Selenium バージョンではなく、おそらく Firefox 4 のダイアログ メカニズムの変更に関連している可能性があります。1.x シリーズの古い Selenium も動作しません。

現時点では、次の 2 つの方法があります。

  1. 以前のバージョンの Firefox にダウングレードする
  2. 新しい Selenium 2.0 API (別名 WebDriver) に移行する

WebDriver は FF4 で動作しますが、iframe から発行されたアラートとプロンプトの処理にはまだ問題があります。もちろん、まだベータ版なので、切り替えるのは危険です。あなたのパートナーもこれを気に入らないかもしれません;)

于 2011-04-11T12:58:56.603 に答える
0
page.evaluate_script('window.confirm = function(){ 
      return true; 
}') 

作品

于 2012-10-24T19:00:19.070 に答える