我有一个链接在我的网页上,我需要点击,以删除一个概要文件。当我点击它时,会弹出一个确认对话框,请求确认它(一个设置背景黑暗并显示一个对话框的对话框,而不是一个实际的窗口弹出)。因此,如果我插入一个命令assertConformation,它会给我一个错误,说明它不存在。如果我不使用这个命令,selenium会给出错误,说有一个确认.怪怪的对吧?以下是证据:
没有命令的:

使用命令::

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

发布于 2016-04-24 09:25:34
这是关于消费确认。如果生成确认,则必须使用waitForConfirmation和storeConfirmation,否则测试用例将失败。
阅读Selenium函数帮助(以粗体表示):
由storeConfirmation(variableName) ()生成的getConfirmation 返回:最新的JavaScript确认对话框的消息 检索在前面操作期间生成的JavaScript确认对话框的消息。 默认情况下,确认函数将返回true,其效果与手动单击OK相同。这可以通过事先执行chooseCancelOnNextConfirmation命令来改变。 如果生成确认,但不使用getConfirmation,则下一个Selenium操作将失败。 注意:在Selenium下,JavaScript确认不会弹出可见的对话框。 注意: Selenium不支持在页面的onload()事件处理程序中生成的JavaScript确认。在这种情况下,将生成一个可见的对话框,Selenium将挂起,直到手动单击OK。
如果只在某些时候生成确认,我将使用Selblocks以及storeConfirmationPresent和if命令。
发布于 2016-04-29 18:35:22
您看过chooseOkOnNextConfirmation命令了吗?
撤消调用chooseCancelOnNextConfirmation的效果。请注意,Selenium的重写的window.confirm()函数通常会自动返回true,就像用户手动单击OK一样,因此您不应该使用此命令,除非出于某种原因需要在下一次确认之前更改主意。在任何确认之后,Selenium将继续使用默认的行为来进行以后的确认,除非/直到对每个确认显式调用chooseCancelOnNextConfirmation,否则将自动返回true (OK)。 注意:每次确认时,您都必须使用相应的getConfirmation,否则下一个selenium操作将失败。
如果您想确保弹出一个确认框,我建议waitForConfirmation或waitForAlert。
https://stackoverflow.com/questions/36754497
复制相似问题