我的代码如下
selenium.chooseCancelOnNextConfirmation()
selenium.click(“deleteRequest”); //点击按钮时会显示确认对话框
System.out.println(“确认存在”+ selenium.isConfirmationPresent());
尽管我正在使用selenium.chooseCancelOnNextConfirmation(),但请告诉我为什么 selenium.isConfirmationPresent()会返回true。
但是selenium.isConfirmationPresent()在
之后返回falseselenium.getConfirmation();
是否必须使用selenium.getConfirmation(),因为我无法进行进一步处理。它说
com.thoughtworks.selenium.SeleniumException:错误:有一个意外的确认! [您确定要删除所选的请求吗?] com.thoughtworks.selenium.HttpCommandProcessor.throwAssertionFailureExceptionOrError(HttpCommandProcessor.java:97) 在com.thoughtworks.selenium.HttpCommandProcessor.doCommand(HttpCommandProcessor.java:9
答案 0 :(得分:2)
这是预期的行为。 chooseCancelOnNextConfirmation()指示 getConfirmation()的行为。有效地呼叫getConfirmation()“消耗”确认弹出窗口。在继续测试之前,您必须使用 getConfirmation 或 verifyConfirmation ,因为如果您没有通过getConfirmation调用处理弹出窗口,任何其他Selenium命令都将失败。
默认情况下,确认功能会 返回true,具有相同的效果 手动单击确定。这可以 先前执行的更改 chooseCancelOnNextConfirmation 命令。如果确认是 生成但你没有得到/验证 它,下一个Selenium行动将会 失败。
所以你的代码可能是:
selenium.chooseCancelOnNextConfirmation();
selenium.click("deleteRequest")
selenium.getConfirmation();