如何使用 Selenium WebDriver 查找 Firefox 附加组件警告对话框
How to use Selenium WebDriver to find Firefox add-ons warning dialog
我正在测试下载和安装我们公司制作的插件。我可以将域添加到 Firefox 配置文件白名单以消除第一个对话框,但随后 FF 显示第二个 "Install add-ons only from authors whom you trust"。我找不到让 Selenium 找到它的方法。它看起来像这样:
我试过 driver.switchTo().alert().accept()
- 这不是警报。
我试过了 driver.switchTo().findElement(linkText("Install")
- 没有找到。
我尝试使用 SikuliWebDriver 按位置查找元素(选择一些随机整数来处理),然后只发送像 Keys.TAB
和 Keys.ENTER
这样的键,但是我在调试模式下单步执行,driver.findELementByLocation(20,40)
从不 returns。
我已尝试 driver.getKeyboard().sendKeys(Keys.TAB)
(发送两个制表符和一个输入)。也从不 returns.
我认为这个对话框是由 Javascript 生成的,但我无法找出它是由什么 JS 生成的。理想情况下,我可以在对话框中找到按钮的名称或 ID,然后使用 JavascriptExecutor
到 运行 命令。但是没有任何句柄我被卡住了。
有什么想法吗?
Selenium 只能看到DOM(文档对象模型)。它无法测试桌面应用程序。显示的对话框是 Firefox 应用程序的一部分,而不是 DOM 的一部分,因此 Selenium 无法看到或访问它或与之交互。悲伤但真实。试试 Ranorex?
我正在测试下载和安装我们公司制作的插件。我可以将域添加到 Firefox 配置文件白名单以消除第一个对话框,但随后 FF 显示第二个 "Install add-ons only from authors whom you trust"。我找不到让 Selenium 找到它的方法。它看起来像这样:
我试过 driver.switchTo().alert().accept()
- 这不是警报。
我试过了 driver.switchTo().findElement(linkText("Install")
- 没有找到。
我尝试使用 SikuliWebDriver 按位置查找元素(选择一些随机整数来处理),然后只发送像 Keys.TAB
和 Keys.ENTER
这样的键,但是我在调试模式下单步执行,driver.findELementByLocation(20,40)
从不 returns。
我已尝试 driver.getKeyboard().sendKeys(Keys.TAB)
(发送两个制表符和一个输入)。也从不 returns.
我认为这个对话框是由 Javascript 生成的,但我无法找出它是由什么 JS 生成的。理想情况下,我可以在对话框中找到按钮的名称或 ID,然后使用 JavascriptExecutor
到 运行 命令。但是没有任何句柄我被卡住了。
有什么想法吗?
Selenium 只能看到DOM(文档对象模型)。它无法测试桌面应用程序。显示的对话框是 Firefox 应用程序的一部分,而不是 DOM 的一部分,因此 Selenium 无法看到或访问它或与之交互。悲伤但真实。试试 Ranorex?