Selenium IDE - 出现了意想不到的确认!

时间:2010-01-14 08:21:25

标签: testing selenium

我有一个显示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!并且测试用例失败。

有什么建议吗?

4 个答案:

答案 0 :(得分:24)

摘要:在IDE中使用storeConfirmation。

您必须使用确认对话框。否则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(模式)