【问题标题】:Selenium IDE - Confirmation IssuesSelenium IDE - 确认问题
【发布时间】:2016-04-20 20:27:02
【问题描述】:

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

没有命令:

使用命令:

你们知道在这种情况下我该怎么办吗?这是确认的类型:

【问题讨论】:

  • 你试过waitForConfirmationwaitForConfirmationPresent吗?
  • 是的,同样的事情——imgur.com/PsNITc2——等待任何确认,成功通过,然后报错
  • 我建议您不要使用 javascript 进行确认。这不是一个明确的方法,但它会为您节省大量时间。
  • 您是否尝试过在变量中包含“\\”?输出将是这样的 ${path}${tc}Step3.JPG
  • @RodelBernal 是的,我也这样做了 :)

标签: selenium selenium-ide


【解决方案1】:

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

阅读 Selenium IDE 函数帮助(粗体):

storeConfirmation(variableName) 从 getConfirmation() 生成

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

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

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

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

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

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

如果确认只是偶尔生成,我建议使用 SelblocksstoreConfirmationPresentif 命令。

【讨论】:

  • 感谢您的帮助!
【解决方案2】:

您看过 chooseOkOnNextConfirmation 命令了吗?

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

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

这会让你越过警告框,如果你想确保弹出一个确认框,我建议 waitForConfirmationwaitForAlert

【讨论】:

    猜你喜欢
    • 2013-04-19
    • 2011-01-04
    • 2013-03-26
    • 1970-01-01
    • 2011-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    相关资源
    最近更新 更多