我试图从这样的确认框中按下确定按钮(我添加了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)
感谢您的帮助。
答案 0 :(得分:1)
我在代码中遇到了同样的错误
selenium.chooseCancelOnNextConfirmation();//点击cancel按钮
selenium.click("link=Delete");
selenium.getConfirmation();
最后我发现原因是开发人员使用了jquery的jconfirm
函数而不是window.confirm
,jconfirm
函数被div覆盖。
最后我使用了assertTrue(selenium.isElementPresent("id=popup_container"))
。
答案 1 :(得分:0)
从这些信息中很难准确说出来。但我会给你一些可以帮助你的信息
java脚本生成3种类型的弹出窗口
1)提醒 2)确认书 3)提示
你的情况,我想
1)可能是您使用的声明selenium.click(),未触发确认框
OR
2)如果它正在触发,那么它可能不是确认框。它可以是其他2个框中的任何一个
所以,你必须手动确定它是什么类型的弹出窗口并相应地调用语句。
ex:确认窗口:包含确定和取消按钮 警报窗口:仅包含“确定”按钮 提示窗口:包含文本框和确定和取消按钮
分别检查并使用该命令
如果不是上述情况,请HTML代码