Firefox 4 диалоговое окно подтверждения в селене 2.0b3 - PullRequest
1 голос
/ 09 апреля 2011

Я работал с селеном около 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.И я все еще должен объяснить эту проблему моему партнеру.

Ответы [ 2 ]

0 голосов
/ 24 октября 2012
page.evaluate_script('window.confirm = function(){ 
      return true; 
}') 

работает

0 голосов
/ 11 апреля 2011

Да, в системе отслеживания проблем Selenium есть несколько комментариев, подтверждающих эту проблему - http://code.google.com/p/selenium/issues/detail?id=27, и мой собственный опыт показывает то же самое.

Причиной этой проблемы является не конкретная версия Selenium, вероятно, она связана с некоторыми изменениями в механике диалогов Firefox 4, старые Seleniums серии 1.x тоже не работают.

На данный момент у вас есть два пути:

  1. переход на более раннюю версию Firefox,
  2. перейти на новый API Selenium 2.0 (он же WebDriver)

WebDriver работает с FF4, но по-прежнему возникают проблемы с обработкой предупреждений и подсказок, выдаваемых из фреймов. И, конечно, это все еще бета-версия, поэтому было бы рискованно переходить на нее, вашему партнеру это тоже может не понравиться;)

...