Диалоговое окно подтверждения Firefox 4 в селене 2.0b3

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


person BaoNgoc    schedule 09.04.2011    source источник


Ответы (2)


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

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

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

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

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

person Alexei Barantsev    schedule 11.04.2011
comment
Спасибо: Д. Думаю перейти на 3.6. - person BaoNgoc; 13.04.2011
comment
Полная поддержка FF4 будет в Selenium 2.0RC1 - person Ardesco; 25.05.2011

page.evaluate_script('window.confirm = function(){ 
      return true; 
}') 

работает

person mikepence    schedule 24.10.2012