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 问题跟踪器中有几条评论证实了这个问题——http ://code.google.com/p/selenium/issues/detail?id=27 ,我自己的经验也表明了这一点。

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

目前,您有两条路可以走:

  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 回答