我有一个显示Javascript确认弹出窗口的按钮。这是我的测试用例的一部分:
<tr> <td>clickAndWait</td> <td>buttonId</td> <td></td> </tr> <tr> <td>verifyTextPresent</td> <td>Object has been deleted</td> <td></td> </tr>
按预期工作:弹出窗口自动点击确定,verifyTextPresent
返回true。但是,我在日志中得到[error] There was an unexpected Confirmation!
并且测试用例失败。
有什么建议吗?
答案 0 :(得分:24)
您必须使用确认对话框。否则Selenium测试将失败。
来自Java Selenium RC API Selenium.html.getConfirmation方法:
如果生成确认但是 你没有消费它 getConfirmation方法,下一个Selenium 行动将失败。
修改强>
storeConfirmation也会使用确认信息。
storeConfirmation(variableName)
检索JavaScript确认对话框的消息 在上一个动作中生成。
如果生成确认但您没有使用它 getConfirmation方法,下一个Selenium 行动将失败。
答案 1 :(得分:8)
我遇到了同样的问题,我解决了这个问题:
chooseOkOnNextConfirmation 点击buttonId assertConfirmation
这使我的测试在我的Selenium IDE中运行为绿色。
执行此操作的代码是:
<tr>
<td>chooseOkOnNextConfirmation</td>
<td></td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>ctl00_CPHMain_ucFormDMS_grdDocumentList_ctl00_ctl04_btnDelete</td>
<td></td>
</tr>
<tr>
<td>assertConfirmation</td>
<td>Areyousureyouwanttodeletethisdocument?</td>
<td></td>
</tr>
答案 2 :(得分:1)
使用selenium.chooseOkOnNextConfirmation是正确的但不能单独使用
selenium.click("xpath=//button");
selenium.getConfirmation();
selenium.chooseOkOnNextConfirmation();
在这里,它将首先单击按钮并获得确认,然后它将从该确认单击确定
答案 3 :(得分:0)
在Selenium IDE中,您可以使用 waitForConfirmation(模式)