【发布时间】:2015-01-21 14:35:38
【问题描述】:
我很想知道“new FirefoxDriver();”是怎么回事启动 Mozilla 浏览器。 幕后发生了什么。
据我了解,有一个 FireFox 类,它实现了 Webdriver 接口。 通过执行 new FirefoxDriver() ,JVM 将搜索要加载的类。但是这如何连接到我系统中安装的 mozilla.exe 呢?
【问题讨论】:
我很想知道“new FirefoxDriver();”是怎么回事启动 Mozilla 浏览器。 幕后发生了什么。
据我了解,有一个 FireFox 类,它实现了 Webdriver 接口。 通过执行 new FirefoxDriver() ,JVM 将搜索要加载的类。但是这如何连接到我系统中安装的 mozilla.exe 呢?
【问题讨论】:
Firefox 驱动程序包含在可下载的 selenium-server-stanalone.jar 中。驱动程序以 xpi(firefox 扩展)的形式出现,当您启动 FirefoxDriver 的新实例时,它会添加到 firefox 配置文件中。
见this
【讨论】:
FirefoxDriver 主要以 Firefox 扩展的形式编写。语言绑定通过通过套接字连接并以 UTF-8 发送命令(在 JsonWireProtocol 页面中描述)来控制驱动程序。该扩展利用 Firefox 提供的 XPCOM 原语来完成其工作。需要注意的重要一点是,命令名称直接映射到 javascript 代码中“FirefoxDriver.prototype”上公开的方法。
此链接可能会有所帮助, https://code.google.com/p/selenium/wiki/FirefoxDriverInternals
【讨论】: