如何使用Selenium WebDriver查找Firefox附加组件警告对话框

时间:2015-04-16 21:40:32

标签: selenium-webdriver firefox-addon

我正在测试下载和安装我们公司制作的附加组件。我可以将域添加到Firefox配置文件白名单以消除第一个对话框,但然后FF显示第二个显示“仅从您信任的作者安装加载项”。我找不到让Selenium找到它的方法。这是一个看起来像这样的人:

enter image description here

我试过driver.switchTo().alert().accept() - 这不是警报。

我试过driver.switchTo().findElement(linkText("Install") - 找不到任何东西。

我尝试使用SikuliWebDriver按位置查找元素(选择一些随机整数来处理),然后只发送Keys.TABKeys.ENTER之类的键,但是当我步在调试模式下,driver.findELementByLocation(20,40)永远不会返回。

我尝试过driver.getKeyboard().sendKeys(Keys.TAB)(发送两个标签和一个输入)。也永远不会回来。

我认为这个对话框是由Javascript生成的,但我无法找出JS生成它的内容。理想情况下,我可以在对话框中找到按钮的名称或ID,然后使用JavascriptExecutor运行命令。但是没有任何处理我就被困住了。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

Selenium只能看到DOM(文档对象模型)。它无法测试桌面应用程序。显示的对话框是Firefox应用程序的一部分,而不是DOM的一部分,因此Selenium无法查看或访问它或与之交互。伤心但真实。试试Ranorex?