在selenium 2.0b3中的Firefox 4确认对话框

时间:2011-04-09 01:52:39

标签: dialog selenium-webdriver firefox4 confirmation

我和硒一起工作了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 :(得分:0)

是的,Selenium问题跟踪器中有几条评论确认了这个问题 - http://code.google.com/p/selenium/issues/detail?id=27,我自己的经验也是如此。

这个问题的原因不是特定的Selenium版本,它可能与Firefox 4对话机制中的一些变化有关,旧版的1.x系列Selenium也不起作用。

目前,您还有两种方法:

  1. 降级到早期版本的Firefox,
  2. 迁移到新的Selenium 2.0 API(又名WebDriver)
  3. WebDriver与FF4一起使用,但在处理从iframe发出的警报和提示时仍然存在问题。当然它仍处于测试阶段,因此切换到它会有风险,你的伴侣也可能不喜欢这个;)

答案 1 :(得分:0)

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

作品