我和硒一起工作了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的工作原理。我仍然要向我的伴侣解释这个问题。
答案 0 :(得分:0)
是的,Selenium问题跟踪器中有几条评论确认了这个问题 - http://code.google.com/p/selenium/issues/detail?id=27,我自己的经验也是如此。
这个问题的原因不是特定的Selenium版本,它可能与Firefox 4对话机制中的一些变化有关,旧版的1.x系列Selenium也不起作用。
目前,您还有两种方法:
WebDriver与FF4一起使用,但在处理从iframe发出的警报和提示时仍然存在问题。当然它仍处于测试阶段,因此切换到它会有风险,你的伴侣也可能不喜欢这个;)
答案 1 :(得分:0)
page.evaluate_script('window.confirm = function(){
return true;
}')
作品