我正在测试下载和安装我们公司制作的附加组件。我可以将域添加到Firefox配置文件白名单以消除第一个对话框,但然后FF显示第二个显示“仅从您信任的作者安装加载项”。我找不到让Selenium找到它的方法。这是一个看起来像这样的人:
我试过driver.switchTo().alert().accept()
- 这不是警报。
我试过driver.switchTo().findElement(linkText("Install")
- 找不到任何东西。
我尝试使用SikuliWebDriver按位置查找元素(选择一些随机整数来处理),然后只发送Keys.TAB
和Keys.ENTER
之类的键,但是当我步在调试模式下,driver.findELementByLocation(20,40)
永远不会返回。
我尝试过driver.getKeyboard().sendKeys(Keys.TAB)
(发送两个标签和一个输入)。也永远不会回来。
我认为这个对话框是由Javascript生成的,但我无法找出JS生成它的内容。理想情况下,我可以在对话框中找到按钮的名称或ID,然后使用JavascriptExecutor
运行命令。但是没有任何处理我就被困住了。
有什么想法吗?
答案 0 :(得分:1)
Selenium只能看到DOM(文档对象模型)。它无法测试桌面应用程序。显示的对话框是Firefox应用程序的一部分,而不是DOM的一部分,因此Selenium无法查看或访问它或与之交互。伤心但真实。试试Ranorex?