【问题标题】:How to dismiss browser plugin alert in Robot framework如何在机器人框架中关闭浏览器插件警报
【发布时间】:2018-11-06 18:41:35
【问题描述】:

在我们的应用程序中,当我在网页之间导航时,系统显示附加Browser Confirmation Alert。我正在使用机器人框架来自动化。我尝试使用“处理警报”关键字接受或解除警报。但我在报告中观察到“未找到警报”错误。也禁用右键单击以在警报窗口中查找 web 元素。

*** Settings ***
Library           Selenium2Library
Test Teardown    Close Application

*** Variables ***

*** Test Cases ***
Dismiss Alert
    Open Aplication
    Click WebElement    ${serchXpath}
    Click WebElement    ${navigateXpath}
    Wait Until Element Is Visible    ${Inv_xpath_all_rows}    timeout=60 seconds
    Handle Alert    action=DISMISS    timeout=60 s

失败:Alert not found in 5 seconds.在Handle Alert action=DISMISS timeout=60 s这一行

我是自动化世界的新手,请求您帮助我。非常感谢。

【问题讨论】:

  • 使用您的代码尝试和相关 HTML 更新问题
  • 您好 GPT14,我已添加代码。谢谢你
  • 我没有看到您的问题的任何附件。
  • 嗨,Bryan,我放置了附件链接。谢谢。
  • 能否请您将附件作为内嵌图片包含在内,这样就无需点击?

标签: robotframework


【解决方案1】:

查看附加的弹出窗口的屏幕截图,您似乎正在处理“外部协议请求”框。您无法使用 selenium webdriver API 与此框进行交互。相反,您需要使用 ChromeOptions 或编辑 Chrome 配置文件来处理此问题。这是一个 SO answer,描述了如何去做。 要使用 Selenium2Library 在 RobotFramework 中处理相同的问题,请查看此内容。

${chromeOptions}=    Evaluate    sys.modules['selenium.webdriver'].ChromeOptions()    sys, selenium.webdriver
${exclude}=    Create Dictionary    "fasp"=True
${prefs}=    Create Dictionary    protocol_handler.excluded_schemes=${exclude}
Call Method    ${chromeOptions}    add_experimental_option    prefs    ${prefs}
Create Webdriver    Chrome    chrome_options=${chromeOptions}

来源:https://support.asperasoft.com/hc/en-us/articles/216660968-How-to-unblock-the-launching-of-Connect-3-6-5-in-Chrome

【讨论】:

  • 我试过上面的例子,我仍然面临同样的错误。在我看来,机器人无法识别警报。感谢 GPT14 的回复。
  • @Madhu:我已经根据你的弹出屏幕截图编辑了我的答案。
猜你喜欢
  • 2017-08-22
  • 2017-11-01
  • 1970-01-01
  • 2022-01-22
  • 2013-02-07
  • 2015-07-31
  • 2014-01-31
  • 2018-04-01
  • 2016-09-06
相关资源
最近更新 更多