【问题标题】:Selenium Webdriver Support for Javafx 2.0 Webkit or QT5 Webkit (Goal: headless webkit)Selenium Webdriver 支持 Javafx 2.0 Webkit 或 QT5 Webkit(目标:无头 webkit)
【发布时间】:2012-12-09 09:50:50
【问题描述】:

我想知道:

  • 有没有人考虑过为嵌入式 Javafx 2.0 Webkit 浏览器或新的 QT5 - Webkit 实现 webdriver 接口。
  • 有没有人对一些朝着这个方向发展的 Github/Bitbucket/GoogleCode 项目提出一些建议?

为什么? 这将添加 另一个跨平台浏览器,希望可以使用新的 webkit 渲染引擎实现无头浏览器。 现在我在 MacOSX 或 ChromeDriver 上使用 SafariDriver。这有点工作,但 chromedriver 经常咬我,当 Chrome 自动更新并破坏 chromedriver 时。

我认为,最接近无头 Webkit 实现(包括截屏)的项目是 phantomjs(QT-4.8 webkit)+ ghostdriver(用于 phantomjs 作为 javascript 实现的 webdriver 插件)。 现在 phantomjs 有它的字体和连字符 () 渲染的怪癖。

测试 QT5 浏览器示例,字体/shy 渲染似乎已修复。 现在我可以等待 phantomjs 赶上 qt5。

另一个想法是安装 Java 7,其中包括 Javafx 2.0 并实现一个 WebView,它也可以由 webdriver-protocol 控制。较新的 JavaFx 2.0 版本包含对 JavaFX 场景进行截图的可能性,这将很有帮助。

参考文献:

圣诞快乐,

一月

【问题讨论】:

  • JavaFX WebView 目前不支持无头屏幕外快照。对此进行跟踪、投票或评论的功能请求是 RT-26571 "Provide support for taking full page snapshots from webviews"
  • 提醒:Phantomjs 2 还没有准备好,JavaFX8 webkit 在所有测试中都适用于我。没有渲染问题。我可能会继续使用 JsonWireProtocol for Selenium 实现 JavaFX 浏览器。使用 OpenJFX 项目 Monocle 可能会实现纯无头 JavaFX 8 Web 引擎,但当前的 JavaFX8 版本则不行。希望 Monocle 项目能在 8u26 版中实现
  • Java FX 8 网络引擎中的 XPath 支持已损坏。这使得 Web 驱动程序的实现变得困难。 javafx-jira.kenai.com/browse/RT-30698
  • 一个可以注入例如jquery 在 webengine 上映射 webdriver api。但我想这是 Selenium RC1 的想法。

标签: qt webkit webdriver integration-testing javafx-2


【解决方案1】:

存在用于 Qt4 和 Qt5 的 webdriver 实现:https://github.com/cisco-open-source/qtwebdriver

它驱动 QtWebkit、QWidgets 和 QML。

【讨论】:

    【解决方案2】:

    是的,我构建了这个:https://github.com/MachinePublishers/jBrowserDriver

    默认情况下它是无头运行的。快照、xpath 和其他一切都有效。不需要浏览器,只需 Java 8。

    【讨论】:

    • Java FX 似乎由于孤立的媒体句柄而存在严重的内存泄漏。也许有一天会出现一个 QT5 / Qupzilla 驱动程序。
    猜你喜欢
    • 1970-01-01
    • 2013-02-28
    • 2017-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-14
    相关资源
    最近更新 更多