【问题标题】:How can I access browser extension's popup using selenium?如何使用 selenium 访问浏览器扩展的弹出窗口?
【发布时间】:2016-03-28 20:14:35
【问题描述】:

我想为我的浏览器扩展编写验收测试。我试图通过 selenium 启动扩展,但我似乎无法访问弹出内容。有人可以建议我如何使用 selenium 或任何其他方式为浏览器扩展编写 UI/验收测试吗?谢谢。

【问题讨论】:

    标签: selenium firefox-addon acceptance-testing browser-extension


    【解决方案1】:

    如何使用 selenium 访问浏览器扩展的弹出窗口?

    不可能。 Selenium 仅支持与 Web 视图的交互。

    您可以使用Seleniumextension 做的肯定是自动安装:https://stackoverflow.com/a/16512012/2517622

    您可以尝试使用桌面自动化工具(例如 Windows 平台上的 White)来点击扩展弹出窗口,但这并不容易,而且它不像 Selenium 那样独立于平台。

    【讨论】:

    • 即使我使用桌面自动化,我该如何在弹出窗口中导航呢?
    • 这取决于您要选择的工具。
    • 我可以使用任何可以完成这项工作的工具。事实上,用桌面自动化工具做事听起来相当困难。我的猜测是必须有一些东西(比如 Selenium)可以通过其 API 与浏览器进行通信。
    • 盲目猜测如何控制您的扩展程序:编写您的选项页面以进行测试 (developer.chrome.com/extensions/options) 并使用该页面和 Selenium 控制扩展程序。
    • 好吧,这就是我们现在的做法。但这似乎是骇人听闻的方式。我希望找到更“合法”的东西
    【解决方案2】:

    这是我们提出的解决方法。除非有人在这里发布“正确”的解决方案,否则我会认为这是最好的方法。

    所以最终,我们的扩展程序是一个 iframe,它只是从我们的网站加载页面内容 + 做一些其他整洁的事情。我们只需在新选项卡中打开该 url 并定期进行 selenium 测试。

    旁白:我们考虑编写一个小的 javascript 包装器,以便能够通过 javascript 通过主窗口访问 ext。例如。 ext中有一些js可以监听主窗口的事件并执行某些操作。但是,这太费力了,而且听起来不像是正确的验收测试,所以我们放弃了这种方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-21
      • 1970-01-01
      • 2012-12-15
      • 1970-01-01
      • 2018-10-01
      • 1970-01-01
      相关资源
      最近更新 更多