Selenium IDE - 确认问题

时间:2016-04-20 20:27:03

标签: selenium selenium-ide

我的页面上有一个链接,我需要点击该链接才能删除个人资料。当我单击它时,会弹出一个确认对话框,要求确认它(将背景设置为黑暗并显示一个对话框,而不是实际的窗口弹出窗口)。所以,如果我插入一个命令assertConformation,它会给我一个错误,说它不存在。如果我不使用这个命令,selenium会给出错误,说有确认...奇怪吧?以下是证据:

没有命令:

enter image description here

使用命令:

enter image description here

你们知道在这种情况下我能做些什么吗?这是确认类型:

enter image description here

2 个答案:

答案 0 :(得分:1)

这是关于消费确认。如果生成确认,则必须使用waitForConfirmationstoreConfirmation,否则测试用例将失败。

阅读Selenium IDE功能帮助(粗体):

  

storeConfirmation(variableName)从getConfirmation()生成

     

返回:   最新的JavaScript确认对话框的消息

     

检索上一个操作期间生成的JavaScript确认对话框的消息。

     

默认情况下,confirm函数将返回true,与手动单击OK具有相同的效果。这可以通过先前的执行来改变   chooseCancelOnNextConfirmation命令。

     

如果生成确认但您没有使用getConfirmation消耗它,则下一个Selenium操作将失败。

     

注意:在Selenium下,JavaScript确认不会弹出可见的对话框。

     

注意:Selenium不支持在页面的onload()事件处理程序中生成的JavaScript确认。在这种情况下可见   对话框将生成,Selenium将挂起,直到您手动   单击“确定”。

如果仅在有时生成确认,我会重新决定使用 Selblocks 以及storeConfirmationPresentif命令。

答案 1 :(得分:0)

你看过 chooseOkOnNextConfirmation 命令吗?

  

撤消调用chooseCancelOnNextConfirmation的效果。请注意,Selenium的重写window.confirm()函数通常会被覆盖   自动返回true,就像用户手动点击OK一样,所以   除非出于某种原因需要,否则不应该使用此命令   在下次确认之前改变主意。任何之后   确认,Selenium将恢复使用默认行为   未来确认,自动返回true(OK),除非/直到   你明确地为每个人调用chooseCancelOnNextConfirmation   确认。

     

请注意 - 每次确认时,您必须使用相应的getConfirmation消耗它,否则下一个selenium   操作失败。

会让你通过提醒框,如果你想确保弹出确认框,我建议 waitForConfirmation waitForAlert