无法使用selenium RC处理确认框

时间:2011-07-05 10:54:11

标签: selenium selenium-rc

我试图从这样的确认框中按下确定按钮(我添加了Thread.spleep,所以我选中了按钮按下并显示确认框)

selenium.chooseOkOnNextConfirmation(); 
selenium.click("xpath=//a[contains(@href,'123')]");
assertTrue(selenium.getConfirmation().equalsIgnoreCase("123"));

但我得到了这个

com.thoughtworks.selenium.SeleniumException: ERROR: There were no confirmations
at com.thoughtworks.selenium.HttpCommandProcessor.throwAssertionFailureExceptionOrError(HttpCommandProcessor.java:97)
at com.thoughtworks.selenium.HttpCommandProcessor.doCommand(HttpCommandProcessor.java:91)
at com.thoughtworks.selenium.HttpCommandProcessor.getString(HttpCommandProcessor.java:262)
at com.thoughtworks.selenium.DefaultSelenium.getConfirmation(DefaultSelenium.java:429)

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

我在代码中遇到了同样的错误

selenium.chooseCancelOnNextConfirmation();//点击cancel按钮
selenium.click("link=Delete");
selenium.getConfirmation();

最后我发现原因是开发人员使用了jquery的jconfirm函数而不是window.confirmjconfirm函数被div覆盖。

最后我使用了assertTrue(selenium.isElementPresent("id=popup_container"))

答案 1 :(得分:0)

从这些信息中很难准确说出来。但我会给你一些可以帮助你的信息

java脚本生成3种类型的弹出窗口

1)提醒 2)确认书 3)提示

你的情况,我想

1)可能是您使用的声明selenium.click(),未触发确认框

OR

2)如果它正在触发,那么它可能不是确认框。它可以是其他2个框中的任何一个

所以,你必须手动确定它是什么类型的弹出窗口并相应地调用语句。

ex:确认窗口:包含确定和取消按钮 警报窗口:仅包含“确定”按钮 提示窗口:包含文本框和确定和取消按钮

分别检查并使用该命令

如果不是上述情况,请HTML代码