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