如何在机器人框架中关闭浏览器插件警报
Posted
技术标签:
【中文标题】如何在机器人框架中关闭浏览器插件警报【英文标题】: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,我放置了附件链接。谢谢。 能否请您将附件作为内嵌图片包含在内,这样就无需点击? 【参考方案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:我已经根据你的弹出屏幕截图编辑了我的答案。以上是关于如何在机器人框架中关闭浏览器插件警报的主要内容,如果未能解决你的问题,请参考以下文章